0

毎晩実行しているバッチ ファイルがあり、結果ファイルに結果を書き込む必要があります (種類は関係ありません)。これが私のデレマです。

基本的にバッチファイルは次のとおりです。

SHUTDOWN /r /m \\MACHINE1 /t %1 /c "This machine is forcibly restarting in %1 seconds!" /f
SHUTDOWN /r /m \\MACHINE2 /t %1 /c "This machine is forcibly restarting in %1 seconds!" /f
SHUTDOWN /r /m \\MACHINE3 /t %1 /c "This machine is forcibly restarting in %1 seconds!" /f

毎晩再起動される約 248 台のマシンが含まれています。どちらが反応し、どれが反応しなかったかの結果を書きたいと思います。さらに重要なのは、どちらがしたかです。たぶんerrorlevel==0errorlevel==1タイプのようなものですか?それがここに当てはまるかどうかはわかりません。

MACHINE1また、実際に、 などをリストする代わりにMACHINE2、テキスト ファイルからマシン名を読み取るにはどうすればよいですか?

これは、私の背後にあるデスクトップ マシンで毎晩のタスクとして実行されます。

非常に多くのエントリがある場合、どうすればこれを行うことができますか。

前もって感謝します!

4

1 に答える 1

3

実行するとshutdown.bat >> shutdown.log 2>&1、出力がファイルに出力されます。

ファイルからマシン名を読み取るには、次のように FOR ループを使用できます。

FOR /F %%name IN (machines.txt) DO SHUTDOWN /r /m \\%%name /t %1 /c "This machine is forcibly restarting in %1 seconds!" /f

新しい行に各マシン名を付けます。

うまくフォーマットされたもの:

@echo off
FOR /F %%name IN (machines.txt) DO (
    echo %%name
    SHUTDOWN /r /m \\%%name /t %1 /c "This machine is forcibly restarting in %1 seconds!" /f
)
于 2012-05-24T16:35:49.550 に答える