2

我需要用可变大小的原始文件名重命名数千个 rar 文件。我必须通过保留原始文件名的前 3 个和最后 4 个字符并在中间添加 3 个随机字符 [数字] 来使它们长 10 个字符。

例子:

输入:

《John Doe - Jane Doe - 19073275.rar》

《XXXX-XYXY-98705674.rar

输出:

"joh1273275.rar"

"XXX9795674.rar"

接下来,.bat 应该为每个文件生成一个带有原始名称和修改后的 .txt!

我知道这是可能的,但是在编写它时我完全是愚蠢的。请帮忙!

4

2 回答 2

2

下面的批处理文件做你想做的事:

@echo off
setlocal EnableDelayedExpansion
for %%a in (*.rar) do (
   set name=%%~Na
   set num=00!random!
   set newName=!name:~0,3!!num:~-3!!name:~-4!
   ren "%%a" "!newName!%%~Xa"
   echo "%%a" modified to "!newName!%%~Xa" >> log.txt
)
于 2013-02-19T02:54:40.667 回答
0

我会编写一个脚本以任何简单的方式生成名称(比如前 6 个 + 后 4 个),然后检查是否有任何重复项要手动清理(或者第二遍移动中间,或者......)。除非这是一项重复性的工作(每天都做),否则不值得完全自动化。

于 2013-02-18T01:50:14.683 回答