2013-03-19 266 views
0

如何编写批处理文件来重命名多个文本文件?使用批处理文件重命名多个文本文件

假设我们有如下

ABC_Suman_156smnhk.txt, 
ABC_Suman_73564jsdlfm.txt, 
ABC_Suman_9864yds7mjf45mj.txt 

重命名200个文件要

MNC_Ranj_156smnhk.txt, 
MNC_Ranj_73564jsdlfm.txt, 
MNC_Ranj_9864yds7mjf45mj.txt 

注:我需要这个ABC_Suman部分只改变MNC_Ranj

任何帮助,将不胜感激。

回答

0

要执行批量重命名,基本命令看起来像这样:

为文件名在FOO; do echo mv \“$ filename \”\“$ {filename // foo/bar} \”; done> rename.txt 该命令的工作原理如下:

for循环遍历当前目录中名为foo的所有文件。 对于每一个文件名,它构造并回应一个形式为mv“filename”“newfilename”的命令,其中文件名和新文件名被双引号包围(以考虑文件名中的空格)并且新文件名具有foo的所有实例都替换为bar。替换函数$ {filename // foo/bar}有两个斜线(//)来代替foo的每一处出现。 最后,将整个输出保存到rename.txt以供用户查看,以确保正在生成重命名命令。

我把它从下面的链接: http://www.peteryu.ca/tutorials/shellscripting/batch_rename

+0

我已经使用了下面code..and它工作了,当文件名有单下划线 “_” @回响 - @回声关& SetLocal EnableExtensions-For/F“tokens = 1 * delims = _”%% I IN('dir/ad/b * .g tm')DO重命名“%%〜I _ %%〜J”“ManiTh _ %%〜J” – user2185058 2013-03-19 09:08:35

+0

请让我知道当文本文件包含两个下划线,例如ABC_Suman_156smnhk.txt到MNC_Ranj_156smnhk.txt – user2185058 2013-03-19 09:13:07

0

关闭@echo SETLOCAL enableDelayedExpansion 为%%的F(ABC_Suman * .TXT)做( 集 “NAME = %% F” 仁“ !名称” “!名字:ABC_Suman = MNC_Ranj” )

相关问题