您的批处理文件存在三个问题:
在批处理文件,你必须使用%%a替代%a。
%%a 将保存完整路径,而不仅仅是文件名。
如果文件名中有空格,重命名将失败。
一般来说,我还建议您echo在进行故障排除时继续使用。
试试这个:
cd /d c:\folder
for %%a in (*.mp3) do ren "%%a" "[Replay]%%a"
Run Code Online (Sandbox Code Playgroud)
如果将文件重命名两次,for则正在读取目录条目。作为解决方法,您可以将列表保存在临时文件中:
cd /d c:\folder
dir /b *.mp3 > temp
for /f "delims=" %%a in (temp) do ren "%%a" "[Replay]%%a"
del temp
Run Code Online (Sandbox Code Playgroud)