如何用批处理文件删除含空格的文件夹

顺便解释下每条命令是什么作用

第1个回答  2018-10-20
@echo off
color f2
echo 我可以将【文件夹】目录及子目录[去除文件名空格]整理到-目录表格.xls
pause 
:--------------------------------------
setlocal enabledelayedexpansion
:--------------------------------------
for /f "tokens=*" %%j in ('dir/b') do (
set fn=%%j
echo 替换前:!fn!
set fn=!fn: =!
echo 替换后:!fn!
:将fn字符串中的每一个空格(" ")替换成空字符("")。
ren "%%j" !fn!
)
:--------------------------------------
set pp=%~dp0
echo %pp%
:--------------------------------------
for /d /r . %%i in (*) do (

:更新路径,将有空格的路径改为除去空格后的路径,才能进入
for /f "tokens=*" %%l in (!i!) do (
set pt=%%l
set pt=!pt: =!
set i=!pt!
)
echo 路径 %%i
cd %%i
:-------------------
for /f "tokens=*" %%j in ('dir/b') do (
set fn=%%j
echo !fn!
set fn=!fn: =!
echo !fn!
:将fn字符串中的每一个“ ”替换成“”空字符。
ren "%%j" !fn!
)
)
:--------------------------------------
cd %pp%
echo %pp%
for /d /r . %%k in (*) do echo %%k>>目录表格.xls
echo 已经将文件夹目录(不包括文件)生成到【目录表格.xls】
echo 如果希望更多bat功能可以发邮件给:[email protected]
pause

第2个回答  2010-03-23
rd "空格文件夹"

有空格的文件夹必须要含有引号,不然会忽略处理本回答被提问者采纳
第3个回答  2010-03-23
for /f "delims=" %%i in ('dir /ad /b') do rd "%%i"

删除带空格及不带空格的目录

有空格的目录要用双引号括起
相似回答