我有几百个文件以特定的方式命名,需要根据第六个字符替换第13-15个字符来重命名。我一直无法创造出能够读取第6个字符的东西,而是让它独立,只更改第13-15个字符。Windows批处理文件做到有条件重命名
这些文件的格式如下。
2016-A124578_XYZ_moretext.ext
2016-B345654_XYZ_morerandomtext.ext
2016-B235689_XYZ_moredifferenttext.ext
2016-A789945_XYZ_moretext.ext
2016-C547821_XYZ_moretext.ext
脚本需要读取第6个字符(A,B或C),并用AAA或BBB或CCC更换XYZ取决于信。文件名的其余部分需要显示相同。
2016-A124578_XYZ_moretext.ext becomes 2016-A124578_AAA_moretext.ext
2016-B345654_XYZ_morerandomtext.ext becomes 2016-B345654_BBB_morerandomtext.ext
是否可以制作这种脚本? RegEx是否是尝试它的最佳方式?
如果你已经不知道如何编写批处理文件,请你帮个忙,学习的PowerShell代替。做任何事情,即使有点复杂的批次是痛苦的*。越早忘记它存在,越好。 Powershell更好,并且它已经预装在现代Windows系统上。它实际上也支持正则表达式 - 批处理不支持。 – Blorgbeard
PowerShell不必要的冗长,默认情况下甚至不启用。除非你有一个打字恋物癖,坚持批量。 – SomethingDark
这不是最好的语言,但是如果你想要写实际的程序而不安装新的东西,那就是Powershell或批处理。批处理是一堆非常可怕的向后兼容的黑客攻击,语法反映了这一点。 Powershell有时是冗长的,但有很多IDE用于自动完成。对于简单的命令列表,批处理是很好的。任何更复杂的事情,这只是可怕的。我的想法是。 – Blorgbeard