【发布时间】:2013-09-01 03:42:42
【问题描述】:
我试图让一个批处理脚本工作,从而让我的脚本正在运行的计算机 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
在脚本的其他地方禁止输出
【问题讨论】:
-
“C 的结果”是什么意思?
PING ...在 B 中执行的结果? -
感谢您的回复,是的,这正是我所需要的。需要知道 C 是否响应 B 发送的请求或超时。
-
我对此的另一个想法是使用令牌来读取 ping 的输出并从中提取我的结果,但我真的不确定实现或如何获得单行 ping 结果通过 PSEXEC 或类似方式使用。
标签: windows networking batch-file