如何用文件夹名称的破折号替换空格(批量)

时间:2013-10-08 15:04:49

标签: windows batch-file renaming

如何在Windows Server 2008中批量替换数千个文件夹的空格?

目前:

我的文件夹

所有文件夹都需要成为:

我的文件夹

由于

2 个答案:

答案 0 :(得分:2)

这可以在这里工作。

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /D /R %%i IN (*) DO (
    SET "n=%%~nxi"
    REN "%%i" "!n: =-!"
)

答案 1 :(得分:0)

使用此批处理文件:

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /D /R %%i IN (*.*) DO (
    SET "n=%%~nxi"
    SET n=!n: =-!
    IF NOT "!n!" == "%%~nxi" ECHO MOVE "%%~i" "%%~dpi!n!"
)

检查结果,如果一切正常,请在ECHO之前删除MOVE

编辑:互动版:

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET k=
FOR /D /R %%i IN (*.*) DO (
    SET "n=%%~nxi"
    SET n=!n: =-!
    IF NOT "!n!" == "%%~nxi" (
        ECHO "%%~i" =^> "!n!"
        IF /I NOT "!k!"=="A" SET /P k=[Y]es/[N]o/[A]ll]/[C]ancel?
        IF /I "!k!"=="C" GOTO :END
        IF /I "!k!"=="Y" MOVE "%%~i" "%%~dpi!n!"
        IF /I "!k!"=="A" MOVE "%%~i" "%%~dpi!n!"
    )
)
:END
PAUSE

测试此批次。它会在任何重命名之前询问(除非你输入 A ),这样你就可以预览命令并检查结果。