如何在文件夹的所有文件名中用下划线替换所有空格?

Mat*_*aga 31 windows replace cmd

我正在尝试重命名文件夹中的所有文件(所有.exe文件).我想替换所有下划线,例如空间qwe qwe qwe asd.exeqwe_qwe_qwe_asd.exe.

我需要使用命令行执行此操作.我尝试了很多可能的解决方案,我在互联网上甚至在这个网站上找到了,但我无法让它发挥作用.

我还需要在"单行"/"一个命令"中执行此操作,但我会接受所有可行的答案.

MC *_* ND 48

一个班轮

cmd /e:on /v:on /c "for %f in ("* *.exe") do (set "n=%~nxf" & set "n=!n: =_!" & ren "%~ff" "!n!" )"
Run Code Online (Sandbox Code Playgroud)

生成cmd实例,启用扩展和延迟扩展,并为每个名称中包含空格的exe文件替换带下划线的空格,并使用新名称重命名该文件


Gra*_*ray 18

改编自:

/sf/answers/1129064051/

@echo off
Setlocal enabledelayedexpansion

Set "Pattern= "
Set "Replace=_"

For %%a in (*.exe) Do (
    Set "File=%%~a"
    Ren "%%a" "!File:%Pattern%=%Replace%!"
)

Pause&Exit
Run Code Online (Sandbox Code Playgroud)

*.bat使用上述内容创建批处理文件().将该批处理文件放在包含所有.exe文件夹的文件夹中,并在运行时将替换带下划线的空格.


小智 11

简单如下:

set filename=qwe qwe qwe asd.exe
set filename=%filename: =_%
Run Code Online (Sandbox Code Playgroud)

  • 那如何重命名文件? (2认同)

Jim*_*ine 7

使用forfiles:

forfiles /m *.exe /C "cmd /e:on /v:on /c set \"Phile=@file\" & if @ISDIR==FALSE ren @file !Phile: =_!"
Run Code Online (Sandbox Code Playgroud)

添加/sforfiles通过子文件夹进行递归.

  • 如果您想将空格改为破折号或将下划线加下划线,则控制“将其转换为该”逻辑的位是“ Phile:= _!”。“ =”之前的内容将被替换。“ =”之后的东西将被替换为。 (2认同)