Windows 如何将空格替换为文件夹名称的破折号(批量)
如何在Windows server 2008中用数千个文件夹的破折号批量替换空格 目前: 我的文件夹 所有文件夹都需要成为: 我的文件夹 谢谢使用此批处理文件:Windows 如何将空格替换为文件夹名称的破折号(批量),windows,batch-file,renaming,Windows,Batch File,Renaming,如何在Windows server 2008中用数千个文件夹的破折号批量替换空格 目前: 我的文件夹 所有文件夹都需要成为: 我的文件夹 谢谢使用此批处理文件: @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 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
编辑:交互式版本:
@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),以便您可以预览命令并检查结果。这在这里起作用
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /D /R %%i IN (*) DO (
SET "n=%%~nxi"
REN "%%i" "!n: =-!"
)
什么也没发生,我把它保存在bat中,但文件夹仍然有空间。你应该检查bat输出-然后,如果一切正常,在移动之前移除ECHO使其工作。首先,非常感谢您的帮助和时间这是我用您给我的代码创建的文件,非常抱歉,它根本没有任何作用,请您看一下,告诉我应该做什么,我做错了什么