批量检查文件夹是否存在时,%1 和 %1\NUL 有什么区别?

问题描述 投票:0回答:0

我找到了一个批处理脚本示例,用于检查是否存在具有以下片段的文件夹(作为参数给出):

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"
)。

windows batch-file
© www.soinside.com 2019 - 2024. All rights reserved.