用批处理,按照要求实现重命名

来源:互联网 发布:生化危机5知乎 编辑:程序博客网 时间:2024/06/16 20:32

问题:

将 U12(0001-0080).bin 、U24(0100-ffff).bin等一系列文件,重命名为 U12_00010080.bin、U24_0100ffff.bin等,即去掉括号和连字符'-',前三个字符和后面的字符用下划线'_'连接。


解决方法(bat):

1.用for命令列举出符合条件的文件,再逐一处理。

forname.bat

@echo offfor /r . %%i in (U*^(*-*^).bin) do (call name.bat %%~nxi)pause

FOR /R [[drive:]path] %variable IN (set) DO command[command-parameters]

    检查以[drive:]path 为根的目录树,指向每个目录中的

    FOR 语句。如果在 /R 后没有指定目录,则使用当前

目录。如果集仅为一个单点(.)字符,则枚举该目录树。


%~ni        - 仅将 %i 扩展到一个文件名

%~xi        - 仅将 %i 扩展到一个文件扩展名

%~nxi      -    将 %i 扩展到一个文件名和扩展名

2.用set命令处理文件名字符串

name.bat

set a=%1set a=%a:(=_%set a=%a:)=%set a=%a:-=%echo %1 -^> %a%rename %1 %a%

%PATH:str1=str2%

将字符串变量%PATH%中的str1替换为str2


原创粉丝点击