我正在尝试使用批处理文件将单词 [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