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 回答