Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Windows上回显命令行输出_Python_Windows_Batch File_Command Line - Fatal编程技术网

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

Python 如何在Windows上回显命令行输出,python,windows,batch-file,command-line,Python,Windows,Batch File,Command Line,我试图在命令行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.12

我试图在命令行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)
我已经尝试了下面的命令以及许多变化,但无法得到预期的结果。可以找到有关可执行文件的信息

示例

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)
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)

如果将单个字符串传递给
子流程。请检查\u output
,它将被解释为文本文件名,如果要使其工作,则需要传递
shell=True
参数

但是,建议使用
子流程
函数系列的方法是使用字符串列表作为参数:

subprocess.check_output(["rdp.exe", "/v:" + server, "/u:" + username, "/p:" + password, "/log", "/batch"])