文件夹路径中包含空格的批处理脚本
Batch script with spaces in folder path
我编写了以下代码来从多个文件夹(文件夹 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\!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
选项为 used.Tough 时读取文件时可以使用双引号 FOR /?
消息中未提及。
我编写了以下代码来从多个文件夹(文件夹 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\!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
选项为 used.Tough 时读取文件时可以使用双引号 FOR /?
消息中未提及。