我使用以下内容使用BATCH脚本删除目录中的空文件夹。
for /F %%i in ('dir /b /a:d "C:\test\*"') do >nul 2>nul dir /a-d "%%i\*" || ( rd "%%i" )
但是当文件夹名称包含空格时,它不会删除空文件夹。 (例如“34567 1”)
我尝试使用rd "34567 1"
,该文件夹可以成功删除。
我使用以下内容尝试显示文件夹名称。
for /F %%i in ('dir /b /a:d "C:\test\*"') do >nul 2>nul dir /a-d "%%i\*" || (echo "%%i" && rd "%%i" )
如果文件夹名称包含空格%%i
是“系统找不到指定的档案。”(“系统找不到指定文件”从谷歌翻译)
如何使用BATCH脚本删除空文件夹名称包含目录中的空格?
答案 0 :(得分:0)
For /f
默认使用"tokens=1 delims= "
所以%%i
只包含第一个空格的路径。
可以插入for /f "delims=" ...
或For /f "tokens=*" ...
来解决此问题
for /F "delims=" %%i in (
'dir /b /a:d "C:\test\*"'
) do >nul 2>nul dir /a-d "%%i\*" || ( rd "%%i" )
有关详情,请参阅for /?
或阅读http://ss64.com/nt/for_f.html