如何在 Windows 批处理脚本中删除文件名中不必要的点,例如:
a.b.c.txt to a.txt
答案1
Charlie Wilson 发布的 SS64 链接中包含的信息源自我的 SU 帖子:Windows RENAME 命令如何解释通配符?。不幸的是,没有任何简单的 REN 语法可以完成您想要的操作。
您将不得不求助于至少一个 FOR 循环。这里有一个解决方案,只要您的文件名都不以 开头,它就可以从命令提示符下运行.
。
for %a in (*) do @for /f "eol=. delims=." %b in ("%a") do @ren "%a" "%b%~xa"
.
您可以使用以下更复杂的版本来保护以 开头的名称:
for /f "eol=: delims=" %a in ('dir /b /a-d *^|findstr /blv .') do @for /f "eol=. delims=." %b in ("%a") do @ren "%a" "%b%~xa"
%
您可以通过将全部更改为来从批处理文件中运行上述任一命令%%
答案2
ren 命令。下面的链接中提供了有关如何使用通配符来使用此命令的非常详细的说明。