0

我有一个昨天创建的 .bat 脚本。我现在需要找到操作系统名称或远程服务器,如果它的服务器 2003 64bit = true 然后运行 ​​test.bat 有没有简单的方法可以做到这一点?

这是我要运行的脚本:

 If OS = Server 2003 
 Then 
 psexec -u domain\user -p password \\@serverlist -s -i -d
 msiexec.exe /i "\\share\folder\Avmr64.msi" /qb

我正在寻找几种获取信息的方法,但是如何在其中添加 if 语句?

4

2 回答 2

0
ver | find "2003" > nul
if %ERRORLEVEL% == 0 goto ver_2003

ver | find "some other os string" > nul
if %ERRORLEVEL% == 0 goto some_other_os

:ver_2003 您的 2003 特定代码在这里

如果需要,将“一些其他操作系统字符串”替换为有意义的字符串以获取有关其他操作系统的信息。

于 2011-05-26T15:08:58.730 回答
0

测试 64 位系统的一种方法是检查 C:\program files (x86)\ 目录。在 32 位系统中,它只是 C:\Program Files。该目录在 64 位系统上也存在,因此 C:\Program Files (x86)\ 的缺失表明它是 32 位的。

如果目录存在,则该批处理文件的第三行将运行,如果不存在,则转到 :NoUse32bitVersion 标签。

C:
IF NOT EXIST "C:\Program Files (x86)\" GOTO IS32BIT
psexec -u domain\user -p password \\@serverlist -s -i -d msiexec.exe /i "\\share\folder\Avmr64.msi" /qb
:IS32BIT
echo Put your 32-bit version of the code here (or just EXIT)
于 2011-05-26T14:38:32.223 回答