我有以下批处理文件片段:
FOR /F %%G IN (
'dir /b /s ApprovalClassLibrary.dll Constants.dll CustomControls.dll NetSpell.SpellChecker.dll'
) do (
ECHO Deleting "%%G"
del %%G
)
我试图用来删除列出的任何DLL文件。
dir命令正确查找文件如下:
C:\Users\brian\Documents\Visual Studio 2012\Projects\HRActions 10.3.2\ApprovalClassLibrary\bin\Constants.dll
C:\Users\brian\Documents\Visual Studio 2012\Projects\HRActions 10.3.2\ApprovalClassLibrary\SetupFiles\publish\bin\Constants.dll
C:\Users\brian\Documents\Visual Studio 2012\Projects\HRActions 10.3.2\Constants\bin\Constants.dll
C:\Users\brian\Documents\Visual Studio 2012\Projects\HRActions 10.3.2\Constants\obj\x86\Release\Constants.dll
C:\Users\brian\Documents\Visual Studio 2012\Projects\HRActions 10.3.2\CustomControls\bin\CustomControls.dll
...
但是当我运行脚本时,我得到以下内容
Deleting "C:\Users\brian\Documents\Visual"
Could Not Find C:\Users\brian\Documents\Visual
Deleting "C:\Users\brian\Documents\Visual"
Could Not Find C:\Users\brian\Documents\Visual
Deleting "C:\Users\brian\Documents\Visual"
Could Not Find C:\Users\brian\Documents\Visual
Deleting "C:\Users\brian\Documents\Visual"
Could Not Find C:\Users\brian\Documents\Visual
...
由于目录中的空间,路径似乎正在中断。如何才能使用此命令正确扩展路径以便删除文件?
答案 0 :(得分:2)
您需要添加delims
词组:
FOR /F "delims=" %%G IN (
肯定会将DEL
更改为
del "%%G"
- 如果不这样做,del将尝试删除参数中提供的文件列表,并使用通常的空格和逗号作为分隔符。
答案 1 :(得分:0)
您需要将"Delims="
添加到for语句中,否则默认情况下它会在每个空格中断开。