2013-03-19 247 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」 )