如何在 Windows server 2008 中批量用数千个文件夹的破折号替换空格?
目前:
我的文件夹
所有文件夹都需要变成:
我的文件夹
谢谢
如何在 Windows server 2008 中批量用数千个文件夹的破折号替换空格?
目前:
我的文件夹
所有文件夹都需要变成:
我的文件夹
谢谢
这在这里有效。
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /D /R %%i IN (*) DO (
SET "n=%%~nxi"
REN "%%i" "!n: =-!"
)
使用这个批处理文件:
@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),因此您可以预览命令并检查结果。