我有一个文件列表,其格式如左图所示。我想在每个文件名后附加一个字符串,但是前扩展,如图所示:
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
对于不熟悉命令的人(比如我),有几个软件可以很容易地进行批量重命名:
- 批量重命名实用程序(非开源)
- 重命名!(开源)