Batch File to replace underscores with spaces in a

2020-04-14 09:38发布

问题:

I am trying to replace underscores in some file names with spaces, for example:

this_is_a_file.pdf

becomes:

this is a file.pdf

In Windows using a batch file.

I have found a similar question, but it replaces spaces with nothing: How to remove spaces from file names (in bulk)

Can it be easily translated to do what I want?

回答1:

Use %file:_= % to represent %file% with underscores replaced with spaces. Unfortunately this won't work on a for variable so if you're looping over files you have to use an intermediate variable.

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