需要将批处理文件结果写入文本文件

时间:2012-05-24 16:26:41

标签: batch-file

我有一个我每晚运行的批处理文件,我需要将结果写入结果文件(无论什么类型)。这是我的删除。

这里基本上是批处理文件:

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类型的东西?我不知道这是否适用于此。

此外,我没有实际列出MACHINE1MACHINE2等,而是如何让它从文本文件中读取机器名?

如果有帮助的话,这将在我身后的桌面计算机上运行,​​作为夜间任务。

如果有这么多条目,我将如何做到这一点。

提前谢谢!

1 个答案:

答案 0 :(得分: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
)