gpt4 book ai didi

if-statement - 如何使用带有竖线的批处理文件 if 语句?

转载 作者:行者123 更新时间:2023-12-02 01:10:58 25 4
gpt4 key购买 nike

我试图使用批处理文件确定操作系统是 32 位还是 64 位,然后根据输出运行程序。这是我目前所拥有的

if (systeminfo | findstr = based) == "x64-based PC" run 64-bit Program
else run 32-bit program

我不断收到“| 此时出乎意料”。我试过使用帽子 ^ 并且没有括号,但我似乎无法通过该错误。有没有我遗漏的东西或其他方法可以做到这一点。批处理文件和程序将在闪存驱动器上,并在多台 Windows PC 上使用。 systeminfo 命令是我所知道的获得所需位结果的唯一方法,我知道该命令有效,但我需要程序查看结果并做出决定。任何想法将不胜感激!提前致谢

最佳答案

不幸的是,您不能包含(可能的)多行输出 systeminfo | findstr = basedif 语句中。

您必须像这样捕获输出:

for /f "tokens=3" %%A in ('systeminfo ^| findstr based') do (
if /i "%%~A"=="x64-based" (
:: Run 64-bit Program
) else (
:: Run 32-bit Program
)
)

但是,我建议只使用 PROCESSOR_ARCHITECTURE

reg query "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE

https://stackoverflow.com/a/1739055/891976

http://support.microsoft.com/kb/556009

关于if-statement - 如何使用带有竖线的批处理文件 if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17353531/

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