1

まず、バッチ ファイルを使用してアプリケーションをインストールしています。インストールは問題なく正常に動作しています。

エラーレベルがNEQ 0の場合、バッチの最後にエラーコードをファイルに出力しましたが、出力は常に9009です。

Web で 9009 を検索すると、実行可能ファイルが見つからないと表示されますが、アプリケーションが正常にインストールされるため、確実に見つかります。

インストールするバッチ スクリプトの 1 つのサンプルを次に示します。

  IF exist %windir%\LogFolder\BoxSync4.0x86.txt ( goto eof ) ELSE ( goto BoxSyncInstall     )

  :BoxSyncInstall
  msiexec /i "\\servername\InstallFolder\BoxSync\SyncMSI32.msi" /qn
  if %ErrorLevel% EQU 0 (
  >>"\\servername\gpolog\BoxSync4.0x86.csv" echo "%computername%","%date%","%Time%","%ErrorLevel%","Box Sync 4.0 x86 Installed"
  >>"%windir%\gpologs\BoxSync4.0x86.txt" echo "Box Sync 4.0 x86 Installed"
  ) 
  else if %ErrorLevel% NEQ 0(
  >>"\\servername\gpolog\BoxSyncErrorsx86.csv" echo "%computername%","%date%","%Time%","%ErrorLevel%","Error trying to install/upgrade to    BoxSync4.0x86"
  )

  :eof

このエラーが常に発生する理由を知っている人はいますか?

ありがとう

みこやん

4

3 に答える 3

2

バッチsetlocal enabledelayedexpansionファイルの先頭!ERRORLEVEL!IF.

以下も参照してください。

于 2014-06-03T08:56:27.803 に答える
2

問題は構文です。次のように、0との間にスペースが必要です。(

IF exist %windir%\LogFolder\BoxSync4.0x86.txt ( goto eof ) ELSE ( goto BoxSyncInstall     )

:BoxSyncInstall
msiexec /i "\\servername\InstallFolder\BoxSync\SyncMSI32.msi" /qn
if %ErrorLevel% EQU 0 (
>>"\\servername\gpolog\BoxSync4.0x86.csv" echo "%computername%","%date%","%Time%","%ErrorLevel%","Box Sync 4.0 x86 Installed"
>>"%windir%\gpologs\BoxSync4.0x86.txt" echo "Box Sync 4.0 x86 Installed"
) 
else if %ErrorLevel% NEQ 0 (
>>"\\servername\gpolog\BoxSyncErrorsx86.csv" echo "%computername%","%date%","%Time%","%ErrorLevel%","Error trying to install/upgrade to    BoxSync4.0x86"
)

:eof

編集:インストーラーが管理者権限を必要とし、これが Win8+ OS である場合、セキュリティ制限がある可能性があります。その場合、msi インストーラーを%TEMP%フォルダーにコピーし、そこから実行します。これが発生する理由は、管理者モードでコマンド プロンプトを実行すると、UNC パスの使用が制限されるためです (「セキュリティ」上の理由から)。

pushdこちらもお試しくださいpopd。@dbenham からのリマインダー: LINK

于 2014-06-03T08:57:39.713 に答える
1

インストールスクリプトがサイレントではないことによって実行されるのを見たときに、問題があった場所が ELSE IF の下にあることがわかりました。

ELSE を削除した後、スクリプトは正常に実行されました。他のトリックで私を導いてくれたので、あなたの助けに再び感謝します.

于 2014-06-03T10:17:31.027 に答える