MS Dos 批处理重命名选项

MS Dos 批处理重命名选项

我有一些文件,例如:

0110_01_在线.png

0122_01_01_在线.png

: f0122_0201_在线.png

每个文件名中都有共同的文本“_online”。

我只想使用 .bat 文件中的一行程序从每个文件名中删除“_online”,因为每次文件名和文件数量都会发生变化。

我在尝试:

任*_online.png*.png

但它不起作用。

请建议我在批处理文件中执行此操作的正确方法

答案1

您可能对以下问题的答案感兴趣Windows RENAME 命令如何解释通配符?

不幸的是,REN 命令本身无法为您提供所需的结果。您可以online使用 来消除 ,但仅使用 REN 命令无法ren *_online.png *_.png消除。_

使用本机命令的最简单的解决方案是一个小的批处理文件:

@echo off
setlocal enableDelayedExpansion
for /f "eol=: delims=" %%F in ('dir /b *_online.png') do (
  set "file=%%F"
  ren "!file!" "!file:~0,-11!.png"
)

如果您的文件名包含该!字符(这种情况不太可能发生),则需要:

@echo off
setlocal disableDelayedExpansion
for /f "eol=: delims=" %%F in ('dir /b *_online.png') do (
  set "file=%%F"
  setlocal enableDelayedExpansion
  ren "!file!" "!file:~0,-11!.png"
  endlocal
)

答案2

我不知道如何使用批处理文件。但我有一个简单的方法来实现你的需求。你可以使用 Total commander 和 Multi Rename Tool,结合正则表达式选项来批量重命名你想要的文件。我希望这个技巧能帮到你

相关内容