【问题标题】:Python process a cmd command which opens another toolPython 处理打开另一个工具的 cmd 命令
【发布时间】:2019-10-08 10:39:30
【问题描述】:

在 python 中发送 cmd 命令时出现问题。这个命令打开另一个工具,给它一些参数。问题是该工具正在打开,但也打开了一个 cmd 窗口,我可以在其中看到发送的消息。如果我关闭此 cmd 窗口,该工具将被关闭,就像子进程一样。这很奇怪:我只想打开该工具,而没有打开任何 cmd 窗口。

如果我手动执行此操作,通过创建一个双击的 .bat 文件,它可以正常工作(在工具打开时打开 cmd 0.1 秒,没有任何 cmd 文件仍附加到工具)。

大图:我创建了一个工具,它会询问一些路径,然后您可以单击“启动工具”,这些路径作为参数发送给将要打开的工具。

【问题讨论】:

  • 显示您的代码。
  • 你想要它用于 windows 或 linux
  • 我想要它用于 Windows 10。我正在使用 bat 文件打开界面,其中包含:C:\Users\Vlad\AppData\Local\Programs\Python\Python37-32\python.exe -i 调试器设置.py。这将使 .py 文件后面的界面栩栩如生,但正如我所说,cmd 将留在 UI 后面,如果我关闭 cmd,应用程序窗口 (UI) 也会关闭。我希望在双击打开.py界面的.bat文件后正确打开应用程序,然后关闭打开的cmd,而不关闭应用程序。

标签: python cmd


【解决方案1】:

CMD 窗口没有问题,因为您编写的任何脚本都会打开您传入参数的应用程序但只能通过 CMD 窗口

你谈到了一个批处理文件,它也只能通过CMD窗口工作。请检查您的代码流程,并注意或了解它在后端的工作方式。是否借助了 CMD Window 的帮助?

【讨论】:

  • 我想打开 .py 文件,它有一个设计,所以我想从一个 bat 文件 (python.exe -i DebuggerSetup.py) 打开 .py 文件中的应用程序.这将带来一个 cmd,该 cmd 将在应用程序打开时保持打开状态。我只想保留应用程序,而 cmd 消失。
  • 你不能 -- 使用内置命令提示符执行批处理文件将保持一个窗口打开,直到批处理文件退出。
  • 您可以采取措施确保批处理文件尽快退出。如果可能,修改批处理文件以使用 start 命令运行任何程序。默认情况下,start 立即返回而不等待程序退出,因此批处理文件将继续运行,并且可能会立即退出。再加上修改你的快捷方式以最小化运行批处理文件,你只会看到任务栏闪烁,甚至看不到屏幕上的窗口。
  • 最后一种可能性是使用第 3 方工具来运行带有隐藏窗口的命令提示符。我听说过这样的东西,但从来没有用过它们,所以我不知道有什么特别值得你指出的。
  • 对此的一个警告是,如果您正在运行控制台模式程序(许多脚本解释器都是如此),批处理文件将等待程序退出,并且使用 start 将产生一个新控制台窗户。在这种情况下,您需要做的是运行基于 Windows 的解释器版本,而不是基于控制台的解释器——无需启动。对于 Perl,您将运行 wperl.exe 而不是 perl.exe。对于 Python,它是 pythonw.exe 而不是 python.exe。我下载的旧版 win32 Ruby 发行版有 ruby​​w.exe,它应该做同样的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多