我有一堆格式的文件:TOTO-A#7.wav我想重命名它们 TOTO_7_As.wav(s表示尖锐),但我不太擅长正则表达式。 你知道它是否有可能轻易做到这一点? 干杯
答案 0 :(得分:0)
从提示符开始:
for /f "tokens=1*delims=#" %a in ('dir /b /a-d *#*') do ren "%a#%b" "%aS%b"
作为批处理行:
for /f "tokens=1*delims=#" %%a in ('dir /b /a-d *#*') do ECHO(ren "%%a#%%b" "%%aS%%b"
请注意,第二个示例中的ECHO(
只是显示所需的说明。这是为了有机会确保生成正确的指令。要执行说明,请移除ECHO(
。
(同样的技巧可以在之前的版本中使用,但读取结果有点棘手)
for /f "tokens=1,2,3*delims=#-." %%a in ('dir /b /a-d *-*#*.*') do ECHO(ren "%%a-%%b#%%c.%%d" "%%a_%%c_%%bs.%%d"
会将TOTO-A#7.wav
重命名为TOTO_7_As.wav
不知道你的意思是什么“尖锐” - 或“介于两者之间”这件事。
答案 1 :(得分:0)
@echo off
for /F "tokens=1-3 delims=-#." %%a in ('dir /A-D /B *.wav') do ren "%%a-%%b#%%c.wav" "%%a_%%c_%%bs.wav
如果您想在命令行中执行上一个批处理文件,只需按%%
更改每个%
。
如果您有其他扩展名为.wav且格式不同的文件,请更准确地更改*.wav
通配符,例如:????-?#?.wav