Command line 要批量重命名以仅保留原始文件名的某些字符的脚本?
我需要用不同大小的原始文件名重命名数千个rar文件。我必须通过保留原始文件名的前3个字符和最后4个字符,并在中间3个随机字符[数字]中添加它们,使它们长10个字符。 例子: 输入: “无名氏-无名氏-19073275.rar” “XXXX-XYXY-98705674.rar 输出: “Joh1273275.rar” “XXX9795674.rar” 接下来,.bat应该为每个文件生成一个带有原始名称和下面修改名称的.txtCommand line 要批量重命名以仅保留原始文件名的某些字符的脚本?,command-line,batch-file,file-rename,Command Line,Batch File,File Rename,我需要用不同大小的原始文件名重命名数千个rar文件。我必须通过保留原始文件名的前3个字符和最后4个字符,并在中间3个随机字符[数字]中添加它们,使它们长10个字符。 例子: 输入: “无名氏-无名氏-19073275.rar” “XXXX-XYXY-98705674.rar 输出: “Joh1273275.rar” “XXX9795674.rar” 接下来,.bat应该为每个文件生成一个带有原始名称和下面修改名称的.txt 我知道这是可能的,但我在写的时候完全是个傻瓜。请帮帮我!我会写一个脚本,
我知道这是可能的,但我在写的时候完全是个傻瓜。请帮帮我!我会写一个脚本,以任何简单的方式生成名字(比如说前6个+后4个),然后检查是否有重复的名字需要手动清理(或者第二次移动中间位置,或者…)。除非这是一项重复性工作(每天做),它不值得完全自动化。下面的批处理文件可以执行您想要的操作:
@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
)
在这里尝试批量重命名:手动重命名不是一个选项-数千个文件。这可能只是一个重复的工作。但我将尝试根据您的建议草拟一个脚本,即前6个-后4个,看看这会导致什么…阿奇尼,谢谢!这正是我需要的!尽管我努力了,但我无法正确使用随机的东西。这很有效完美的