使用批處理指令碼修改指定資料夾(可包含子目錄)中的檔名字尾

小白哇咔發表於2024-10-11

1.修改當前資料夾中的檔案字尾

在所需要修改檔案字尾的資料夾中建立批處理指令碼檔案,可先建立.txt檔案,編輯後手動修改.txt為.bat
編輯內容如下(以.png檔案轉.jpg檔案為例):

ren *.png *.jpg

詳細步驟如下:

  1. 在所需要修改檔案字尾的資料夾中新建.txt檔案
    image
  2. 編輯.txt檔案內容
    image
  3. 修改.txt檔案字尾為.bat
    image

若建立完文字檔案後並未顯示字尾名.txt,請移步:
顯示檔案字尾

  1. 修改後執行.bat檔案
    雙擊剛剛建立的.bat檔案(批處理指令碼檔案):
    image
    可以看到,當前資料夾中的檔案的字尾進行了修改,從.png修改為了.jpg。

2.修改當前目錄下的所有子資料夾中的檔案和當前資料夾中的檔案字尾

  1. 還是依照1中的步驟在想要修改檔案字尾的資料夾中建立.txt檔案,編輯檔案內容(同樣以.png轉.jpg為例):
@echo off
set num=0
For /r  . %%i in (*.png) do (
set /a num += 1
echo %%i
call echo 第 %%num%% 個檔案處理成功
ren %%i *.jpg) 
echo 共%num%個檔案被處理成功
pause>nul

註釋:

@echo off
rem 關閉命令列視窗的回顯,執行時不顯示每條命令

set num=0
rem 初始化一個變數 num 為 0,用於計數處理的檔案數量

For /r . %%i in (*.png) do (
    rem 開始一個迴圈,遞迴遍歷當前目錄及其子目錄中的所有 .png 檔案
    set /a num += 1
    rem 每找到一個 .png 檔案,就將 num 增加 1,統計處理的檔案數量

    echo %%i
    rem 輸出當前處理的 .png 檔案的完整路徑

    call echo 第 %%num%% 個檔案處理成功
    rem 輸出當前處理檔案的順序,例如“第 1 個檔案處理成功”

    ren %%i *.jpg
    rem 將當前的 .png 檔案重新命名為 .jpg 檔案
)
echo 共%num%個檔案被處理成功
rem 輸出總共處理了多少個檔案

pause > nul
rem 等待使用者按任意鍵繼續,但不顯示提示資訊
  1. (可選)將編輯後的.txt檔案以ANSI的編碼格式另存為
    image
    image

目的是為了防止輸出到終端的中文亂碼
3. 修改檔案字尾
將.txt字尾修改為.bat
4. 雙擊.bat檔案執行
執行.bat檔案後就會在終端中回顯處理結果:
image

相關文章