我正在嘗試使用批次檔將單字 [Replay] 添加到資料夾中的所有 mp3 檔案中,如下所示:
@echo off
for %a in (c:\folder\*.mp3) do ren %a [Replay]%a
但它不會重命名文件。
我在谷歌搜尋中嘗試的所有範例都會附加該單字,但會覆蓋檔案名稱中的下一個字符,我只需將該單字添加到開頭,而不會覆蓋字母。
有什麼想法嗎?
答案1
您的批次檔有三個問題:
在批次檔中,您必須
%%a
使用%a
.%%a
將保存完整路徑,而不僅僅是檔案名稱。如果檔案名稱中有空格,重新命名將會失敗。
一般來說,我還建議echo
在排除故障時保持開啟。
試試這個:
cd /d c:\folder
for %%a in (*.mp3) do ren "%%a" "[Replay]%%a"
如果重新命名檔案兩次,則for
正在讀取目錄條目。作為解決方法,您可以將該清單保存在臨時檔案中:
cd /d c:\folder
dir /b *.mp3 > temp
for /f "delims=" %%a in (temp) do ren "%%a" "[Replay]%%a"
del temp