gpt4 book ai didi

batch-file - 批处理文件如果存在失败文件检查

转载 作者:行者123 更新时间:2023-12-05 01:06:47 26 4
gpt4 key购买 nike

我可能做错了什么,但在为构建编写批处理文件脚本时遇到了一个有趣的行为。

我必须编写两种不同的路径,一种用于构建机器,另一种用于我的开发机器,以便脚本在测试时正确运行。

所以我有以下几点:

IF EXIST "%PROGRAMFILES%\Parent Path\Path A\Subpath\Filename.exe" ( 
SET VARNAME=<PATH>
) ELSE (
IF EXIST "%PROGRAMFILES%\Parent Path\Path B\Subpath\Filename.exe" (
SET VARNAME=<PATH>
)
)

在开发机器上路径应该是路径B,路径A不存在。然而父路径确实存在于两台机器上,并且子路径是相同的。但是应用程序路径不一样。它们是 Windows 中的唯一路径。

在开发机器上,如果我在 IF EXISTS 表达式中包含“Filename.exe”,则即使开发机器上不存在路径 A,该语句也始终为路径 A 返回 true。如果我删除 Filename.exe(这是我解决问题的方法),路径 A 的路径返回 false,路径 B 的路径返回 True。

我假设应用程序安装正确,并且构建系统存在 Filename.exe,因为现在我无法准确地测试它。

有没有其他人看到过这样的行为,或者我可以做些什么来改变这种行为?

编辑:我应该提到这是在 Windows XPsp3 上
编辑:重新格式化代码以反射(reflect)我的实际批处理文件格式,并避免其他人从我的快速输入中混淆。假我做了假设:D

最佳答案

尝试这个...

IF EXIST "%PROGRAMFILES%\Parent Path\Path A\Subpath\Filename.exe" (
SET VARNAME=<PATH>
) ELSE (
IF EXIST "%PROGRAMFILES%\Parent Path\Path B\Subpath\Filename.exe" (
SET VARNAME=<PATH>
)
)

关于batch-file - 批处理文件如果存在失败文件检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19494416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com