如何在Windows Server 2008中批量替换数千个文件夹的空格?
目前:
我的文件夹
所有文件夹都需要成为:
我的文件夹
由于
答案 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 ),这样你就可以预览命令并检查结果。