[英]How to ECHO command line output on Windows
我正在尝试在命令行oneliner上重现以下批处理文件。 我想能够在python脚本中使用此客户端,并确定是否建立了连接,所以我需要能够检索错误代码。 我正在通过子流程调用应用程序,将不胜感激
批处理文件代码
ECHO OFF
START /WAIT rdp.exe /v:192.168.1.122 /u:xpuser /p:xpuser /batch
ECHO %ERRORLEVEL%
我尝试了以下命令以及许多变体,但无法获得预期的结果。 可在此处找到有关可执行文件的信息
例
c:\Python27>start /WAIT rdp.exe /v:192.168.1.122 /u:xpuser /p:xpuser /log /batch | ECHO %ERRORLEVEL%
c:\Python27>start rdp.exe /v:192.168.1.122 /u:xpuser /p:xpuser /batch || ECHO %ERRORLEVEL%
程式码片段
try:
cmdrdp = "rdp.exe /v:%s /u:%s /p:%s /log /batch" % (server, username, password)
subprocess.check_output(cmdrdp)
except CalledProcessError as e:
print(e.returncode)
else:
print "Connected to: %s %s %s" % (server, username, password)
如果将单个字符串传递给subprocess.check_output
,则将其作为文字文件名插入,如果希望它起作用,则需要传递shell=True
参数。
但是,建议使用subprocess
函数族的方法是将字符串列表作为参数:
subprocess.check_output(["rdp.exe", "/v:" + server, "/u:" + username, "/p:" + password, "/log", "/batch"])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.