【发布时间】:2017-08-09 08:42:51
【问题描述】:
假设我有多个文件
filename.a.txt
filename.b.txt
filename.c.txt
我想运行一个以所有 .txt 文件为目标的批处理文件,并将它们重命名为我在自定义 %filename% var 中设置的任何内容 + 给它们编号,这样它最终会变成这样:
filename.1.txt
filename.2.txt
filename.3.txt
到目前为止,我已经写了这个:
set filename=FileTitle
for /r %%i in (*.txt) do call ren %%i %filename%.txt
它可以工作,但问题是它只是拾取第一个 .txt 文件并为其提供 FileTitle 文件名,仅此而已。我不知道如何批量重命名所有 .txt 文件并将它们作为前缀/后缀/自定义 var 提供给输出的 %filename%.txt 的唯一序列号,例如%filename%-%uniquesuffix%.txt。所以我需要设置某种变量,给每个文件一个唯一的数字,例如从 1-99 按字母顺序排列(cmd 提示符拾取文件的默认顺序)。
我确实搜索了其他答案,但它们只显示了如何将全局/相同前缀添加到重命名的文件中。
【问题讨论】:
-
嗯,我很确定我们有一个关于 SO 的例子。如果您需要一个序列号,请设置一个变量,使其在每次使用
SET /A命令重命名文件时递增。没有理由使用CALL命令。
标签: windows batch-file batch-rename