0

我将如何编写一个批处理文件来重命名多个文本文件?

假设我们必须重命名 200 个文件,如下所示

ABC_Suman_156smnhk.txt,
ABC_Suman_73564jsdlfm.txt,
ABC_Suman_9864yds7mjf45mj.txt

MNC_Ranj_156smnhk.txt,
MNC_Ranj_73564jsdlfm.txt,
MNC_Ranj_9864yds7mjf45mj.txt

注意:我ABC_Suman只需要将此部分更改为MNC_Ranj

任何帮助,将不胜感激。

4

2 回答 2

0

要执行批量重命名,基本命令如下所示:

对于foo中的文件名;做 echo mv \"$filename\" \"${filename//foo/bar}\"; done > rename.txt 该命令的工作原理如下:

for 循环遍历当前目录中所有名称为foo的文件。对于每个文件名,它构造并回显 mv “filename” “newfilename” 形式的命令,其中文件名和新文件名用双引号括起来(以说明文件名中的空格),新文件名包含所有foo 的实例替换为 bar。替换函数 ${filename//foo/bar} 有两个斜杠 (//) 以将每次出现的 foo 替换为 bar。最后,将整个输出保存到 rename.txt 以供用户查看,以确保正确生成重命名命令。

我从以下链接中获取它: http ://www.peteryu.ca/tutorials/shellscripting/batch_rename

于 2013-03-19T05:55:39.317 回答
0

@echo off setlocal enableDelayedExpansion for %%F in (ABC_Suman*.txt) do ( set "name=%%F" ren "!name!" "!name:ABC_Suman=MNC_Ranj!" )

于 2013-03-24T17:55:35.327 回答