-2

如何在 Windows server 2008 中批量用数千个文件夹的破折号替换空格?

目前:

我的文件夹

所有文件夹都需要变成:

我的文件夹

谢谢

4

2 回答 2

3

这在这里有效。

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /D /R %%i IN (*) DO (
    SET "n=%%~nxi"
    REN "%%i" "!n: =-!"
)
于 2013-10-09T01:18:04.937 回答
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),因此您可以预览命令并检查结果。

于 2013-10-08T15:17:54.270 回答