如何透過刪除特定名稱、空格並新增唯一字串來重新命名多個檔案?

如何透過刪除特定名稱、空格並新增唯一字串來重新命名多個檔案?

我有n我想要透過刪除特定名稱、空格來重新命名的檔案數量,並且我想要新增具有新名稱的唯一字串:

例如

"MPKL 100055.jpg" 
"MPKL 200452.jpg" 
"MPKL 500002_thumb.jpg"

我想將上述文件重命名為:

"00100055.jpg"
"00200452.jpg"
"00500002_thumb.jpg"

現有數字前面必須有兩個零。

答案1

在下面的例子中我使用了對於/F循環設定分隔符號和標記解析檔案名稱部分,並使用它們設定變數以供以後與命令。我也用過設定本地啟用延遲擴展處理循環中設定的變數的擴展,以便在循環內每次迭代時使用重命名命令正確使用(不在運行時解析)。

@ECHO ON

SETLOCAL ENABLEDELAYEDEXPANSION
SET SourceDir=C:\Users\User\Desktop\Tester

FOR /F "TOKENS=1-3 DELIMS=. " %%F IN ('DIR /B /A-D "%SourceDir%\*.jpg"') DO (
    SET "part1=%%~F" 
    SET "part2=%%~G" 
    SET "part3=%%~H"
    REN "%SourceDir%\!part1! !part2!.!part3!" "00!part2!.!part3!"
)
GOTO EOF

更多資源

答案2

我經常重命名文件,我發現使用起來很方便批量重命名實用程式。這是免費的。您可以透過多種方式重新命名資料夾和/或子資料夾中的檔案和資料夾,包括更改副檔名。

答案3

@echo off

Setlocal enabledelayedexpansion

Set "Pattern=MPKL" 

Set "Replace=00"

For %%# in ("FOLDER_PATH/*.jpg") Do (

    Set "File=%%~nx#"

    Ren "%%#" "!folder!!file!" "!file: =!!File:%Pattern%=%Replace%!"


)

Pause&Exit

相關內容