使用批次檔將文字新增至檔案名稱末尾(但在副檔名之前)

使用批次檔將文字新增至檔案名稱末尾(但在副檔名之前)

我有一個採用左側格式的文件清單。我想在每個文件名後面附加一個字串,但是擴展名,如圖:

File 1.txt  ->  File 1 version 1.txt
File 2.txt  ->  File 2 version 1.txt
File 3.txt  ->  File 3 version 1.txt
File 4.txt  ->  File 4 version 1.txt
...

在每種情況下,所有文件中附加的字串都是相同的。

這似乎是一個簡單的任務,但我在將其放入批次檔中時遇到了一些麻煩。

我已經嘗試過該ren命令並遵循了一些示例這一頁,但產生的檔案名稱會附加字串擴展名:

File 1.txt version 1.txt

答案1

對於更長的文件名,您將不得不?在區塊中添加更多內容?????????

ren *.?* ????????????????????????????????????????????????????????" version 1".*

答案2

而不是依賴是未記錄的怪癖,為什麼不以正確的方式執行此操作?

for %a in (*.txt) do ren "%~a" "%~na version 1%~xa"

如果您想在批次檔中使用它,請記住將每個 % 符號加倍。

這行程式碼將循環遍歷所有符合的文件,並對每個文件名 *.txt執行重命名命令 ( )。是完整的檔名,是沒有添加額外引號的檔名(引號在命令中添加)。是不含檔案副檔名的檔名,是檔案副檔名。ren%a%~a%~na%~xa

如果只有一個文件,則File 1.txt在目前目錄下執行以下命令: ren "File 1.txt" "File 1 version 1.txt"

答案3

我想將“_A”添加到多個文件中,這就是我所做的。

我先刪除了擴展名,添加了後綴,然後將擴展名改回原來的。它確實對我有用,並且使批次程式碼保持簡單,因為我不是一個程式設計師。

@ECHO OFF

REN *.pdf *.
REN *. *_A.
REN *. *.pdf

答案4

對於那些缺乏命令經驗的人(像我),有一些軟體可以使批量重命名變得非常容易:

  • 批次重命名實用程式(無開源)
  • 重命名它! (開源)

相關內容