我希望重命名文件夹* .txt中的所有文件, 所以结果会是 “1.txt”,“2.txt”和“3.txt”,....
我该怎么办?
答案 0 :(得分:11)
以下内容可能会实现您的目标。它使用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
答案 1 :(得分:1)
首先制作一个目录列表:
dir /b *.txt > myfile.cmd
然后启动UltraEdit(http://www.ultraedit.com/)并打开文件。
然后进入列模式,选择所有行,然后:
答案 2 :(得分:1)
我希望重命名文件夹* .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。