dos批处理批量改名
dos吧
全部回复
仅看楼主
level 1
一念俱足 楼主
请教各位大佬,现有一大批文件需要重命名,
要求是将所有
12345high.jpg
12345high_2.jpg
12345high_3.jpg
12345high_4.jpg
12345high_5.jpg
12345high_6.jpg
......12345high_99.jpg
其中的high更换成pro
最后的文件名应该为
12345pro.jpg
12345pro_2.jpg
12345pro_3.jpg
12345pro_4.jpg
12345pro_5.jpg
12345pro_6.jpg
......12345pro_99.jpg
提示一下: high为4个字母,pro为3个字母
如果用改名命令 ren 12345high*.jpg 12345pro*.jpg
结果会变成12345proH_2.jpg.... 12345proH_3.jp.. 12345proH_4.jpg 12345proH_99.jpg
多出一个h.
写了一段代码如下。
set /P item=input item number:
for /r %a in (%item%high*.jpg) do ren %a %item%pro*.eps
请问要怎么改这段批处理才能达到上面的要求呢?预先感谢大佬!!
2022年03月24日 07点03分 1
level 4
Renamer了解一下
2022年03月24日 07点03分 2
如果用改名命令 ren 12345high*.jpg 12345pro*.jpg 结果会变成12345proH_2.jpg.... 12345proH_3.jp.. 12345proH_4.jpg 12345proH_99.jpg
2022年03月24日 09点03分
@一念俱足 我的意思是有个简单方便的软件叫renamer可以解决你的问题,如果你只是研究用dos的方式解决这个问题,那我就不知道咯
2022年03月24日 11点03分
level 4
批处理不懂,但我觉得可以考虑寻找指定字符串然后替换成指定字符串
2022年03月24日 07点03分 3
字符串是多了一位。。。。
2022年03月24日 09点03分
@一念俱足 多一位的话,能不能考虑替换成pro+空格呢?这样就变成4位替换4位了
2022年03月24日 11点03分
@一念俱足 或者也可以考虑先删除一个唯一的英文字母,然后再进行替换,这样就变成三位替换三位,也不会多出空格
2022年03月24日 11点03分
level 5
@璐村惂鐢ㄦ埛_000076K馃惥 off
set sStrA=xxx
set sStrB=abc
for /r %%a in (...) do (
setlocal e...
set sTStr=%%a
ren "!sTStr!" "!sTStr:%sStrA%=%sStrB%!"
endlocal
)
2022年04月07日 23点04分 4
string:str=x; xing. strstrppstr:str=0; 00pp0
2022年04月07日 23点04分
setlocal enabledelayedexpansion 环境变量延时开启
2022年04月08日 00点04分
1