我找到了一个批处理脚本示例,用于检查是否存在具有以下片段的文件夹(作为参数给出):
if not exist %1\NUL goto errorDir
rem throw error if folder doesn't exist.
:errorDir
echo ERROR Input directory doesn't exist... exiting.
goto :end
在不带引号的情况下调用时效果很好,例如
script.bat my\path\to\folder
。但是,如果我在引号内交出文件夹路径,它就会失败,script.bat "my\path\to\folder with spaces"
- 即使该文件夹存在。
然后我意识到显然我不需要
\NUL
部分(来自这个答案here)并且它可以很好地使用引号:
if not exist %1 goto errorDir
现在我想知道:使用
\NUL
有优势吗?我将如何正确使用它以便它与引号一起使用?只是用引号括起来对我不起作用(if not exist "%1\NUL"
)。