Получить информацию об ОС, если сервер 2003, затем запустить скрипт - PullRequest
0 голосов
/ 26 мая 2011

У меня есть скрипт .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 голосов
/ 26 мая 2011
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 года здесь

Замените "некоторую другую строку ОС" на значимую строку, чтобы получить информацию о других ОС, если хотите.

0 голосов
/ 26 мая 2011

Один из способов тестирования 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)
...