我想一个Windows批处理文件,将重命名子目录中发现的所有文件。
原始文件名的示例是Clarity.Always.2015.this.WEB.P10.pdf
。
我希望结果是:
1.将除文件/扩展名点以外的所有点替换为空格。
1.删除前4位数字(年)之后的所有字符。
1.将年份括在括号内。
因此,我希望生成的文件名为Clarity Always (2015).pdf
。
我已经尝试修改我在这里看到的几个例子,但都没有用,包括以下的变体:
for /f "tokens=1,2,* delims=." %%F in ('dir /b "*.*"') do ren "%%F.%%G" "file %%F name.%%G"
for /f "delims=*" %a in ('dir File*_EN.txt /b /s') do ren "%a" File*_ENU.pdf
1条答案
按热度按时间7cjasjjr1#
在用户变量中保存文件名和扩展名。
测试字符串
.year.
是否出现在名称中。如果是这样,用.:year:
替换.year.
(冒号不能出现在文件名中),然后标记结果字符串,利用这个机会用空格替换.
,把碎片捡起来,把它们粘在一起,重新命名(只要被echo
ed就可以解除)[修订为扫描子目录]