我正在做一个需要一个参数的简单批处理文件(您可以提供更多,但我忽略它们)。
为了测试,这是我目前所拥有的。
if not %1 == "" (
dir /s/b %1
) else (
echo no
)
基本上,我想说如果提供了一个参数,递归地显示文件夹中的所有文件。否则,说不。
当我提供参数时它会起作用,但如果我不提供参数它只会告诉我( was unexpected at this time
。
我的意思是,它可以工作,但我想至少显示一条用户友好的消息来解释为什么它不工作。我应该如何更改代码?
最佳答案
if not %1 == "" (
必须是
if not "%1" == "" (
如果没有给出参数,则它完全是空的,甚至 ""
(在大多数编程语言中代表空字符串)也不是。所以我们使用周围的引号来检测空参数。
关于Windows 批处理文件 : if else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5683583/