【发布时间】:2010-11-16 18:42:57
【问题描述】:
我在如下目录中有一组文件:
文件-MyFile.txt 文件-AnotherFile.txt 文件-ThirdFile.txt
我想重命名所有文件,如下所示:
我的文件.txt 另一个文件.txt 第三文件.txt
如何使用for 循环来做到这一点?
【问题讨论】:
标签: for-loop batch-file
我在如下目录中有一组文件:
文件-MyFile.txt 文件-AnotherFile.txt 文件-ThirdFile.txt
我想重命名所有文件,如下所示:
我的文件.txt 另一个文件.txt 第三文件.txt
如何使用for 循环来做到这一点?
【问题讨论】:
标签: for-loop batch-file
克里斯展示了最好的方法。我认为这可能接近您的要求,尽管我没有对其进行测试:
@echo off
for /f %%a IN ('dir /b *.txt') do call :dorename %%a
goto :eof
:dorename
set oldfile=%1
set newfile=%oldfile:File-=%
rename %oldfile% %newfile%
【讨论】:
newfile=%oldfile:File-=%也可以是newfile=%oldfile:~5%
*.txt 代替dir /b *.txt 和%%~nxa 代替%%a。
你不需要 for 循环:
rename File- "" File-*.txt
【讨论】: