1

我试图让一个批处理脚本工作,从而让我的脚本正在运行的计算机 A 让计算机 B ping 计算机 C 并取回我可以输出的错误级别。目前我正在尝试通过使用 PSEXEC 访问计算机 B 上的命令行并让它 ping C 来做到这一点。当然问题是错误级别总是返回为“0”,因为命令在 B 上成功执行.但这是我需要的C的结果。

SET /P ALTTERM=Please specify another terminal to test from [0**]?
ECHO.
ECHO Running internal ping test from terminal %ALTTERM%...
PSEXEC \\%HOSTNAME%-%ALTTERM% PING %HOSTNAME%-%TERMINAL%
IF ERRORLEVEL 0 SET INTERNALPING=PASS 
IF ERRORLEVEL 1 SET INTERNALPING=FAIL
ECHO.
ECHO Internal ping test %INTERNALPING%

脚本前面设置的主机名和终端的详细信息。同样重要的是,脚本不显示工作只显示回声线和结果。我用过

/f >nul 2>&1

脚本中的其他地方以抑制输出

4

1 回答 1

0

根据Windows IT Pro(在Microsoft TechNet中引用):

PsExec 显示进程的退出代码并将退出代码作为它自己的退出代码返回。

所以,你的批次应该可以工作。

放在ECHO ErrorLevel=%ERRORLEVEL%后面PSEXEC ...只是为了确定。

要禁用输出,请将>NUL 2>NUL或附加>NUL 2>&1PSEXEC ...命令行。没有/f你用过的(你从哪里得到的???)

于 2013-08-29T12:50:29.843 回答