为什么 `运行, explore` 不适用于表达式语法?

Why `run, explore` doesn't work with expression syntax?

为什么 run, explore 不适用于表达式语法?

有什么想法吗?非常感谢。

dir := "C:\Users\"

; Works
run explore %dir%

; Doesn't work. Why?
run explore % dir

这演示了 运行 使用表达式语法:

run % "explorer " dir

因为用于强制表达式的百分号-space前缀必须用在任何参数的开头,而不是其他任何地方。

对于Run命令,explore %dir%explore % dir只是一个参数,不能在中间加上前缀。

在 DOS 批处理文件中,这是访问变量的方式 - %VARIABLE_NAME% 所以 %dir% 是一个有效的变量,它的值在你的脚本中定义,而 %dir 之间有一个 space 不引用你的 dir定义。

[https://support.microsoft.com/en-ca/help/121170/how-to-access-environment-variables-in-an-ms-dos-batch-file]