我需要帮助 - 我正在尝试将任何1或更大的ErrorLevel输出到日志文件中。当我发出命令时,日志文件永远不会被生成。任何帮助将不胜感激。
脚本:
for /f "delims=" %%i in (C:\_\Restart\Computer.txt) do (
start "%%i" \_\PStools\psexec \\%%i -u Administrator -p Password -i c:\restart.cmd
if not %errorlevel%==0 echo %errorlevel% > error.log
)
此脚本允许我使用PSEXEC并立即向所有计算机发出重启命令。但是其中有几个失败了,我想知道哪些失败了。
谢谢!
这是我应该使用的格式吗?
setlocal EnableDelayedExpansion
for /f "delims=" %%i in (C:\_\Restart\Computer.txt) do (
start "%%i" \_\PStools\psexec \\%%i -u Administrator -p Password -i c:\restart.cmd
if errorlevel 1 echo !errorlevel! > error.log
)
答案 0 :(得分:1)
脚本V3:
setlocal EnableDelayedExpansion
for /f "delims=" %%i in (C:\temp\list.txt) do (
start "" "shutdown" /m \\%%i -r -f -t 900
echo !errorlevel! && echo %%i
if errorlevel 1 echo !errorlevel! >> c:\temp\log.txt && echo %%i >> c:\temp\log.txt
)
-m =使用远程计算机
-r = reboot
-f =强制重启
-t =重启前的延迟时间
你可以使用shutdown - ?有关可以传递给reboot命令的参数的更多帮助。
没有启动命令的脚本v4:
setlocal EnableDelayedExpansion
for /f "delims=" %%i in (C:\temp\list.txt) do (
shutdown /m \\%%i -r -f -t 900
echo !errorlevel! && echo %%i
if errorlevel 1 echo !errorlevel! >> c:\temp\log.txt && echo %%i >> c:\temp\log.txt
)