批处理文件用文件名中的短划线( - )替换空格

时间:2014-09-16 22:34:44

标签: batch-file

我正在尝试替换图像文件中的空格和短划线( - ),例如:

this is a file.png

变为

this-is-a-file.png

2 个答案:

答案 0 :(得分:3)

@echo off

setlocal disableDelayedExpansion

set "root_dir=c:\somewhere"
pushd "%root_dir%"
for %%a in ("* *.png") do (
    setlocal enableDelayedExpansion
    set "f_name=%%~nxa"
    set "cf_name=!f_name: =-!"
    ren "%%~nxa" "!cf_name!"
    endlocal
)
endlocal

同时检查this(在您的情况下不适用)

答案 1 :(得分:2)

此代码段将执行

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

输入:新文本Document.txt

     

输出:New-Text-Document.txt

赞扬This Post