繁体   English   中英

使用Dos批处理文件重命名多个文件

[英]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/ )并打开文件。

然后进入列模式,选择所有行,然后:

  • 在每行的开头插入“RENAME”
  • 在每一行的末尾插入“.TXT”(一定要把它放得足够远以防你有很长的行)
  • 在.TXT之前插入一个数字(参见菜单中的列/插入数字)

我希望重命名文件夹* .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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM