0

昨日作成した .bat スクリプトがあります。OS名またはリモートサーバーを見つける必要があり、そのサーバーが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

技術的になりすぎずに 64 ビット システムをテストできる 1 つの方法は、C:\program files (x86)\ ディレクトリを確認することです。32 ビット システムでは、C:\Program Files です。このディレクトリは 64 ビット システムにも存在するため、C:\Program Files (x86)\ がないことから、32 ビットであることがわかります。

このバッチ ファイルの 3 行目は、ディレクトリが存在する場合は実行され、存在しない場合は :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 に答える
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」を意味のある文字列に置き換えて、他の os に関する情報を取得します。

于 2011-05-26T15:08:58.730 に答える