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

2024-10-02 04:33:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图复制下面的批处理文件,但在命令行oneliner上。我希望能够在python脚本中使用这个客户机,并确定是否建立了连接,我需要能够检索错误代码。我正在通过子进程调用应用程序任何帮助将不胜感激

批处理文件代码

ECHO OFF
START /WAIT rdp.exe /v:192.168.1.122 /u:xpuser /p:xpuser /batch 
ECHO %ERRORLEVEL%

我尝试了下面的命令和许多变化,但无法得到预期的结果。有关可执行文件的信息可以找到here

示例

^{pr2}$

PYTHON代码片段

   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)

Tags: 文件代码命令行echo脚本serverbatchusername
1条回答
网友
1楼 · 发布于 2024-10-02 04:33:33

如果您向subprocess.check_output传递一个字符串,它将被解释为文本文件名,如果您希望它正常工作,则需要传递shell=True参数。在

但是,使用subprocess函数族的推荐方法是使用字符串列表作为参数:

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

相关问题 更多 >

    热门问题