1
static void Main(string[] args) 
{
    Process process=Process.Start(@"C:\Users\dalvi\Desktop\iisresetdaily.bat");

    if(process.ExitCode==0)
        SendMail("Sucesss in iisreset..", "bye"); // --> case 1
    else
        SendMail("Failed iisreset..", "bye"); // --> case 2
}

編集:私のSendMail方法はうまくいっています。

私はやっているファイルを書きましiisresetdaily.batた. 正常に実行されたら、メールで成功を送信する必要があります 。iisreset /stopiisreset /startiisrest--> case 1case 2

しかし、.batファイルを編集してランダムな単語を入れると、バッチファイルは失敗しますが、それでもcase 1成功を意味するメールを送信していiisresetます.

ここでProcess.ExitCodeを使用してバッチファイルのステータスを確認するのは間違っていますか?

バッチ ファイルが失敗した場合は、case 2failedを送信する必要がありますiisreset

4

4 に答える 4

0

バッチ スクリプトで iisreset の終了コードをチェックして伝達していますか?

http://support.microsoft.com/kb/202013によると、失敗した場合にエラー コード 1 が返されることを示す例があります。

@echo off
IISRESET /STOP /NOFORCE
if errorlevel == 1 goto EXIT
copy %systemroot%\system32\LogFiles\W3SVC1 d:\backup\W3SVC1
IISRESET /START
:EXIT
于 2013-04-30T07:21:51.273 に答える