File 文件夹路径中带有空格的批处理脚本
我编写了以下代码,以从多个文件夹(文件夹1、文件夹2等)中删除文件和子文件夹。当文件夹名称中没有空格时,脚本可以成功运行。但是,当有空格时,它无法删除临时文件(files2del.txt)和子文件夹。路径以点结尾File 文件夹路径中带有空格的批处理脚本,file,batch-file,directory,spaces,File,Batch File,Directory,Spaces,我编写了以下代码,以从多个文件夹(文件夹1、文件夹2等)中删除文件和子文件夹。当文件夹名称中没有空格时,脚本可以成功运行。但是,当有空格时,它无法删除临时文件(files2del.txt)和子文件夹。路径以点结尾 @echo off setlocal EnableDelayedExpansion set folder[0]=Folder 1 set folder[1]=Folder 2 for /l %%s in (0,1,1) do ( set "var=C:\directory\!
@echo off
setlocal EnableDelayedExpansion
set folder[0]=Folder 1
set folder[1]=Folder 2
for /l %%s in (0,1,1) do (
set "var=C:\directory\!folder[%%s]!"
dir "!var!"/s/b/a | sort /r >> !var!\files2del.txt
for /f "delims=;" %%D in (!var!\files2del.txt) do (del /q "%%D" & rd "%%D")
pause
)
exit
下面这一行似乎就是问题所在
for /f "delims=;" %%D in (!var!\files2del.txt) do (del /q "%%D" & rd "%%D")
我试过各种各样的方法,比如,%引号等,但都没有用
谢谢试试:
for /f "usebackq delims=;" %%D in ("!var!\files2del.txt") do (del /q "%%D" & rd "%%D")
当使用
usebackq
选项时,在读取文件时可以在中使用双引号。但是在FOR/?
消息中没有提到它。来自FOR
命令帮助文件的usebackq
部分:允许在文件集中使用双引号引用文件名