繁体   English   中英

如何在Windows上回显命令行输出

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM