1. 程式人生 > >bat批量修改檔名

bat批量修改檔名

注意:

為了好區分,本文中需要空格的位置一律用下劃線_表示,實際輸入中不需要下劃線!

一   檔案不多的情況下,可實現個性化修改

1,在檔案存放的資料夾的空白處,按住shift+滑鼠右鍵---在此處開啟命令視窗,輸入 dir_/b>name.xls 回車。

2,返回資料夾,開啟name表格檔案,對每一個檔名資料進行修改。

至於B列名字怎麼改,方法和需求不一樣,就不細說了。大致結果如下:

其中,C列公式為="ren_"&A1&"_"&B1    (英文狀態下輸入)

3,在當前資料夾下新建文字文件,開啟字尾顯示,使得可以看見“.txt”的字尾。然後把C列的資料複製到新建的文字文件中,儲存後關閉

4,重新命名剛才新建的文字文件--->字尾改為 .bat ,彈出對話方塊“檔案可能不被識別”點選確定。雙擊執行

二    批量修改後綴

1,在需要修改的資料夾下,新建文字文件

2,輸入ren_*.jpg_*.png   (修改為其他的字尾類似)

3,儲存,重新命名文字文件格式為 .bat。雙擊執行即可把jpg改為png型別。

三   檔案數量超級多,資料夾數量多,修改不規則的檔名

對於原始檔名有規律的情況,且需要修改的數量很多成千上萬個,而且在不同的資料夾下,可以使用這種方法。

例如一個檔案下,有如下檔名,檔名長50(.doc中的“.”也算)

DC-01_20111212_L2A0000610922_1109180281055_01M.eps
DC-01_20111212_L2A0000610922_1109180281055_01M.jpg
DC-01_20111212_L2A0000610922_1109180281055_01M.rar
DC-01_20111212_L2A0000610922_1109180281055_01M.xls

這是個有規律的檔名,現在要把下劃線的幾個欄位進行位置上的調整,效果如下的首尾兩行:

DC-01_20111212_L2A0000610922_1109180281055_01M.eps     <----原始名
6              8         1           13                        17                      5
f               g         h             i                                                 k
DC-01_L2A0000610922_1109180281055_01_20111212M.eps   <-----修改後要達到的效果

程式碼:

@echo off
for /f "tokens=*" %%a in ('dir /a-d/b "*.*"')do (
set "b=%%a"
call set "l=%%b:~0,6%%"      //從第1個字元開始,取前6個字元,即“DC-01_”(小寫字母l)
call set "g=%%b:~6,8%%"      //從第6個字元開始,取8個字元,即“20111212”
call set "h=%%b:~14,1%%"     //從第14個字元開始,取1個字元,即“_”
call set "i=%%b:~15,13%%"    //“L2A0000610922”
call set "j=%%b:~28,17%%"    //“_1109180281055_01”
call set "k=%%b:~45,5%%"     //“M.eps”
call set "d=%%b:~60%%"       //需要匹配的字串數。本例中由於全改所以取值大於實際字串數值60。
                               如果只需要改前10位,就只需取10
call set "e=%%l%%%%i%%%%j%%%%h%%%%g%%%%k%%"   //把上面取得的字串按需求進行排列重組
call ren "%%b%%" "%%e%%"
)

儲存為.bat檔案,只需要把bat放到每一個資料夾執行一次即可修改。

以上就是參考,實際每個人的需求可能不同,這就需要進行舉一反三的修改了。

比如上例中,不只是簡單的移動位置,還需要修改數值,重新命名字尾等等。可以再新增一個變數來實現:

如:把l欄位中的DC改為AC,字尾中.xls改為.xlsx  ,在給字母L賦值的下一行中新增程式碼

call set "l=%%l:DC=AC%%"   //還是小寫字母l

然後重新命名呢?自己思考一下

是不是可以用本文的第二種方法提到的,即再建一個bat檔案,內容為ren_*.xls_*.xlsx

最後提醒:bat檔案只需執行一次,千萬別多點,萬一出錯了就不好再次修改了。最好多建立幾個空白檔案來進行測試。

先建立文字文件,然後修改.txt的字尾為.xls  .rar  .rrd   .exe的方式來建立測試檔案。