我正在尝试创建一个批处理文件来检查环境变量是否已定义或未定义,并在是或否的情况下给出某个输出语句。这是我的代码,但我似乎无法让程序告诉我任何参数是否被定义。
if not defined "%MyVar%" (
echo MyVar is NOT defined
)
if defined "%MyVar%" (
echo MyVar IS defined
)
我正在尝试创建一个批处理文件来检查环境变量是否已定义或未定义,并在是或否的情况下给出某个输出语句。这是我的代码,但我似乎无法让程序告诉我任何参数是否被定义。
if not defined "%MyVar%" (
echo MyVar is NOT defined
)
if defined "%MyVar%" (
echo MyVar IS defined
)
我认为你的意思是写成:
if not defined MyVar (
echo MyVar is NOT defined
)
和
if defined MyVar (
echo MyVar IS defined
)
这是因为cmd.exe会在您将变量括在%字符内时扩展对变量内容的引用。 (您想知道变量本身是否已定义,而不是是否定义了具有该变量内容名称的变量。)If Not Defined %1 (Echo=%1 is not defined) Else Echo=%1 is defined
这段代码有什么问题吗? - Compo%1
是一个可替换参数,而不是环境变量。 - Bill_Stewart
%MyVar%
和%1
有什么关联? - Compo