如果server 2003然后运行脚本,则获取操作系统信息

时间:2011-05-26 13:14:38

标签: windows bash psexec

我有一个昨天创建的.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语句?

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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年的特定代码

将“some other os string”替换为有意义的字符串,以获取有关其他操作系统的信息(如果需要)。