我有一堆文件具有相同的前缀“prefix_filename.txt”。我想从所有文件名中删除此前缀和下划线,我该怎么做?
答案1
使用 for 命令 - 无需批处理文件或第三方工具
for /f "tokens=1* delims=_" %a in ('dir /b /a-d') do @if "%b" NEQ "" ren "%a_%b" "%b"
(总是先测试)
具体来说,for 命令以裸格式 (/b) 执行 dir 命令并仅显示文件(属性而非目录 - /ad)。标记是输出中的“列” - 第 1 列,然后第 2 列是第 1 列之外的所有内容,不包括分隔符。分隔符是下划线。现在一切都已定义,我们“进行”检查以确保有第二列 (%b),如果有,我们将完整文件名重命名为不带前缀和下划线的文件名。