How to replace all spaces by underscores in all file names of a folder?

后端 未结 8 2290
鱼传尺愫
鱼传尺愫 2020-12-07 18:50

I\'m trying to rename all the files inside a folder (all .exe files). I want to replace all the spaces with underscores, e.g. qwe qwe qwe asd.exe to qwe_q

相关标签:
8条回答
  • 2020-12-07 19:47

    Minor tweak to Hamza Rashid's answer. Specifically his recursive.bat script.

    recursive.bat

    set orig=%cd%
    
    for /d /r . %%D in (*) do (
        copy replace.bat "%%D\replace.bat"
        cd "%%D"
        replace.bat
        del replace.bat
        cd %orig%
    )
    

    replace.bat stays the same and the instructions stay the same.

    0 讨论(0)
  • 2020-12-07 19:51

    A one liner

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

    Spawn a cmd instance, with extensions and delayed expansion enabled, and for each exe file with spaces in name, replace spaces with underscores and rename the file with the new name

    0 讨论(0)
提交回复
热议问题