Configuration 批处理命令获取错误
我编写了一个简单的批处理文件,检查c驱动器路径是否存在,然后在该路径中执行exe,否则请尝试d驱动器路径并执行它Configuration 批处理命令获取错误,configuration,command-line,batch-file,dos,Configuration,Command Line,Batch File,Dos,我编写了一个简单的批处理文件,检查c驱动器路径是否存在,然后在该路径中执行exe,否则请尝试d驱动器路径并执行它 IF EXIST c:\program files\x goto a ELSE goto b :a cd c:\program files\x executable.exe c:\temp\col.zip :b cd d:\program files\x executable.exe c:\temp\col.zip 我收到这个错误: ----错误输出--“EL
IF EXIST c:\program files\x goto a
ELSE goto b
:a
cd c:\program files\x
executable.exe c:\temp\col.zip
:b
cd d:\program files\x
executable.exe c:\temp\col.zip
我收到这个错误:
----错误输出--“ELSE”未被识别为内部或外部命令、可操作程序或批处理文件。系统找不到指定的路径。'executable.exe“未被识别为内部或外部命令、可操作程序或批处理文件。”dellsysteminfo.exe“”未被识别为内部或外部命令、可操作程序或批处理文件
我不知道为什么。错误消息是不言自明的,批处理文件中没有
ELSE
。但是,由于它是一个GOTO
,因此完全没有必要
IF EXIST c:\program files\x goto a
goto b
如果它通过了第一行,它本质上就是一个else
至于其他错误,它们与找不到要执行的文件有关。批处理文件区分大小写,因此您需要修复文件/文件夹名称的大小写,以匹配实际系统。错误消息是不言自明的,批处理文件中不存在
ELSE
这类内容。但是,由于它是一个GOTO
,因此完全没有必要
IF EXIST c:\program files\x goto a
goto b
如果它通过了第一行,它本质上就是一个else
至于其他错误,它们与找不到要执行的文件有关。批处理文件区分大小写,因此您需要修复文件/文件夹名称的大小写以匹配实际系统。是的,没有多行if/else,只需执行此操作即可
IF EXIST c:\program files\x goto a
goto b
:a
cd c:\program files\x
executable.exe c:\temp\col.zip
rem don't you want a goto here??
:b
cd d:\program files\x
executable.exe c:\temp\col.zip
是的,没有多行if/else,就这么做吧
IF EXIST c:\program files\x goto a
goto b
:a
cd c:\program files\x
executable.exe c:\temp\col.zip
rem don't you want a goto here??
:b
cd d:\program files\x
executable.exe c:\temp\col.zip
ELSE必须在同一行上。将其更改为:
IF EXIST c:\program files\x (
goto a
) ELSE (
goto b
)
有关详细信息,请参阅,或参阅。其他项必须位于同一行。将其更改为:
IF EXIST c:\program files\x (
goto a
) ELSE (
goto b
)
有关更多详细信息,请参阅。我能够修复else更正,为此我要感谢您。但第二个错误仍然存在。我提供了实际的确切路径,但由于某些原因,错误不断出现。你不可能是,错误直接表明该文件不存在。这是否与32位或64位计算机有关。因为我可以看到该文件,因为我将文件下载到了该路径中。64位Windows为32位应用程序添加了第二个程序文件目录。你确定你的目标是对的吗?32位应用程序称为“程序文件(x86)”,批处理文件不区分大小写。整个答案都是胡说八道。对于
cd
,引号是不必要的-同样,请参阅帮助:“CHDIR
命令不将空格视为分隔符,因此可以将cd
放入包含空格的子目录名中,而不必在名称周围加引号。”。我可以修复else更正,谢谢您。但第二个错误仍然存在。我提供了实际的确切路径,但由于某些原因,错误不断出现。你不可能是,错误直接表明该文件不存在。这是否与32位或64位计算机有关。因为我可以看到该文件,因为我将文件下载到了该路径中。64位Windows为32位应用程序添加了第二个程序文件目录。你确定你的目标是对的吗?32位应用程序称为“程序文件(x86)”,批处理文件不区分大小写。整个答案都是胡说八道。对于cd
,不需要引号-同样,请参阅帮助:“CHDIR
命令不将空格视为分隔符,因此可以将cd
插入包含空格的子目录名中,而不必在名称周围加引号。”。我能够修复第一个错误,但第二个错误仍然存在。即使我提供了绝对路径。请参阅JRL的答案。您可以轻松地将其设置为多行,但是,else
必须与if
显示在同一行上(或者在if
之后打开的块的末尾)。是的,文档中有点混乱。我能够修复第一个错误,但第二个错误仍然存在。即使我提供了绝对路径。请参阅JRL的答案。您可以轻松地将其设置为多行,但是,else
必须与if
显示在同一行上(或者在if
之后打开的块的末尾)。是的,文档中有点混乱。