batch file用文件名中的空格replace下划线

我正在尝试用空格replace某些文件名中的下划线,例如:

this_is_a_file.pdf 

变为:

 this is a file.pdf 

Windows中使用batch file

我发现了一个类似的问题,但它用空格replace空格: 如何从文件名中删除空格(批量)

它可以很容易地翻译做我想要的?

使用%file:_= %来代表%file% ,下划线用空格替换。 不幸的是,这不会对一个变量工作,所以如果你循环的文件,你必须使用一个中间变量。

 @echo off setlocal enabledelayedexpansion for %%a in (*_*) do ( set file=%%a ren "!file!" "!file:_= !" )