批处理文件用文件名中的空格替换下划线

Car*_*ned 2 windows batch-file file-rename

我试图用空格替换某些文件名中的下划线,例如:

this_is_a_file.pdf
Run Code Online (Sandbox Code Playgroud)

变为:

this is a file.pdf
Run Code Online (Sandbox Code Playgroud)

在Windows中使用批处理文件.

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

可以轻松翻译成我想要的吗?

Nei*_*eil 7

使用%file:_= %表示%file%与空格代替下划线.不幸的是,这不适用于变量,所以如果你循环文件,你必须使用一个中间变量.

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