2014-01-15 224 views
1

删除文件,我有以下批处理文件片段:使用批处理文件

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 
... 

看来,路径是打破由于空间该目录。我怎样才能得到这个命令来正确地扩展路径,以便我可以删除这些文件?

回答

2

您需要添加一个delims短语:

FOR /F "delims=" %%G IN (

绝对改变DEL

del "%%G" 

- 如果你不这样做,德尔将尝试删除列表中的文件提供论点,通常的空格和逗号作为分隔符。

+0

谢谢,这是我失踪的“delims =”片断。我曾尝试%% G有和没有引号。 – BrianKE

0

您需要将"Delims="添加到您的for语句中,否则默认情况下会在每个空格中打破。