我有一堆具有相同前缀“prefix_filename.txt”的文件。 我想从所有文件名中删除这个前缀和下划线,我该怎么做?
使用for命令 – 无需batch file或第三方工具
for /f "tokens=1* delims=_" %a in ('dir /b /a-d') do @if "%b" NEQ "" ren "%a_%b" "%b"
(总是先testing)
为了将其分解,for命令以裸(/ b)格式执行dir命令并仅显示文件(属性NOT directory – / ad)。 令牌是输出中的“列” – 列1,然后列2是不包含在分隔符中的所有列。 分隔符是下划线。 现在所有的东西都被定义了,我们“检查”确保有第二列(%b),如果有的话,我们把完整的文件名重命名为没有前缀和下划线的文件名。