Board logo

标题: [文件操作] 【已解决】求更改文件扩展名的批处理 [打印本页]

作者: meiszp    时间: 2015-9-1 14:15     标题: 【已解决】求更改文件扩展名的批处理

本帖最后由 meiszp 于 2015-9-4 10:43 编辑

知道下面代码可以更改文件的扩展名,但不能更改子文件夹下的。求可以更改 当前文件夹及子文件夹下所有文件扩展名 的批处理。谢谢!
  1. ren *.dat*.txt
复制代码

作者: DAIC    时间: 2015-9-1 17:20

  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /s /a-d "*.dat"') do (
  3.     ren "%%i" "%%~ni.txt"
  4. )
复制代码

作者: meiszp    时间: 2017-1-19 22:40

回复 2# DAIC

请问如何将更改后的文件(不包含目录)移动到当前目录下的new文件夹,并保留原文件。
作者: Batcher    时间: 2017-1-19 23:02

  1. @echo off
  2. if not exist new\ (
  3.     md new
  4. )
  5. for /f "delims=" %%i in ('dir /b /s /a-d "*.txt" ^| findstr /v "%~dp0new"') do (
  6.     copy /y "%%i" "new\%%~ni.txt"
  7. )
复制代码

作者: meiszp    时间: 2017-1-21 15:30

回复 4# Batcher

完美,非常感谢!
作者: meiszp    时间: 2017-2-5 23:17

回复 4# Batcher

你好,在处理扩展名比较特殊的文件时不成功,比如扩展名为*.$101  *.%101,麻烦指教。
├─064_001
│      064_001.$101
│      064_001.$TE
│      064_001.%101
│      
├─064_002
│      064_002.$101
│      064_002.$TE
│      064_002.%101
│      
├─064_003
│      064_003.$101
│      064_003.$TE
│      064_003.%101
│      
├─064_004
│      064_004.$101
│      064_004.$TE
│      064_004.%101
│      
├─064_005
│      064_005.$101
│      064_005.$TE
│      064_005.%101
│      
├─064_006
│      064_006.$101
│      064_006.$TE
│      064_006.%101
│      
├─064_007
│      064_007.$101
│      064_007.$TE
│      064_007.%101
│      
├─064_008
│      064_008.$101
│      064_008.$TE
│      064_008.%101
│      
├─064_009
│      064_009.$101
│      064_009.$TE
│      064_009.%101
│      
├─064_010
│      064_010.$101
│      064_010.$TE
│      064_010.%101
│      
├─064_011
│      064_011.$101
│      064_011.$TE
│      064_011.%101
│      
└─064_012
        064_012.$101
        064_012.$TE
        064_012.%101




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2