[英]Rename Multiple files with in Dos batch file
我希望重命名文件夹* .txt中的所有文件,因此结果将是“1.txt”,“2.txt”和“3.txt”,....
我怎么能这样做?
以下可能会实现您的目标。 它使用for
循环遍历文本文件,并对批处理文件的另一位进行“调用”,以对变量进行重命名和增量。
编辑将数学运算更改为Andriy建议的清洁解决方案。
@echo off
set i=1
for %%f in (*.txt) do call :renameit "%%f"
goto done
:renameit
ren %1 %i%.txt
set /A i+=1
:done
首先制作目录列表:
dir /b *.txt > myfile.cmd
然后启动UltraEdit( http://www.ultraedit.com/ )并打开文件。
然后进入列模式,选择所有行,然后:
我希望重命名文件夹* .txt中的所有文件,因此结果将是“1.txt”,“2.txt”和“3.txt”,....
我怎么能这样做?
::Setup the stage...
SETLOCAL ENABLEDELAYEDEXPANSION
SET folder=C:\This\Is\The\Folder
SET count=1
::Action
CD "%folder%"
FOR %%F IN ("*.txt") DO (
MOVE "%%F" "!count!.txt"
SET /a count=!count!+1
)
ENDLOCAL
速记
SETLOCAL ENABLEDELAYEDEXPANSION
SET count=1
FOR %%F IN (C:\Path\To\File\*.txt) DO MOVE "%%~fF" "%%~dpF!count!.txt" & SET /a count=!count!+1
ENDLOCAL
因此,如果你的文件夹包含cat.txt,dog.txt,bird.txt,ninjaturtle.txt,它将输出1.txt,2.txt,3.txt,4.txt。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.