如何将带有空格的目录合并到windows批处理脚本中,单引号内的双引号

时间:2017-09-08 11:26:48

标签: batch-file

简单的问题(Windows批处理)但很难找到具体的答案。

我如何合并:

DIR "T:\Some Directory\Another Dir" /S /B /A-D

进入这个:

FOR /F %%i IN ('DIR "T:\Some Directory\Another Dir" /S /B /A-D ^| FINDSTR /EVIL ".jpg .JPG .mp4 .MP4"') DO

我遇到了目录引号的问题 - 命令正在寻找" T:\ Some"因为目录在SPACE分割。

试图逃避^,双引号,三重引号等没有效果......

问题是单引号中的双引号我猜...

谢谢,

1 个答案:

答案 0 :(得分:0)

您需要告诉For循环忽略其默认的空白分隔符。

您可以使用:

FOR /F "DELIMS=" %%A IN ('
    DIR/B/S/A-D-S-L "T:\Some Directory\Another Dir"^|FindStr/EVIL ".jpg .mp4"
') DO …

或:

FOR /F "DELIMS=" %%A IN ('DIR/B/S/A-D-S-L "T:\Some Directory\Another Dir"'
) DO IF /I NOT "%%~xA"==".jpg" IF /I NOT "%%~nxA"==".mp4" (…