【问题标题】:why does command window opens then close then open another window为什么命令窗口打开然后关闭然后打开另一个窗口
【发布时间】:2021-07-09 14:38:53
【问题描述】:

我知道这个问题看起来像其他十几个问题:但是,我正试图深入了解为什么这个脚本会以它的方式运行,以及是否有任何回溯到它,如内存泄漏或其他。

脚本很简单: cd "C:\me\python\.venv" && start C:\me\python\.venv\env\Scripts\activate

有一个窗口会短暂打开然后关闭,然后打开另一个命令窗口,并根据需要打开虚拟环境。这个问题与虚拟环境无关。我正在尝试理解命令窗口。

打开一个命令窗口来更改目录然后关闭,然后另一个窗口在另一个窗口中打开虚拟环境似乎有问题。我想我可以忍受这个,直到我遇到一个无缝的方式来做到这一点;但是,没有更好的方法吗?

在更改目录时,窗口是否打开然后关闭命令提示符的行为?不!脚本可以简单地写成: start C:\me\python\.venv\env\Scripts\activate 并且在虚拟环境启动的窗口之前仍然存在窗口打开的情况。

这样做是否有任何后遗症,例如后台进程打开或内存泄漏或您有什么?

有人知道在哪里可以阅读有关此行为的“自述文件”吗?

非常感谢!

【问题讨论】:

  • 我认为我看到的是涉及两个脚本的结果。上面的帖子中有一个脚本,它调用了第二个脚本,activate.bat 脚本;因此,第一个窗口由于第一个脚本调用第二个脚本而打开,然后在第二个脚本打开之前关闭。

标签: windows command


【解决方案1】:

使用此代码:

cd "C:\me\python\.venv" && C:\me\python\.venv\env\Scripts\activate

start 命令不是必需的,这就是打开另一个窗口并关闭前一个窗口的原因。 此命令异步创建一个新窗口。

【讨论】:

  • 如果没有start 命令,窗口不会对我保持打开状态。你能澄清一下你有不同的结果吗?我尝试不使用start,但窗口并没有保持打开状态,但它仍然看起来好像闪开两次。
  • 您能否提供您运行的脚本的完整示例?
  • 脚本与 op.要求是安装 python 并使用虚拟 venv 进行设置。路径中的最后一个 id 是 activate.bat,它是 op 中脚本的后半部分。我不是要你设置这些要求,特别是如果你不得不走出自己的路。我在想,对第二个脚本的任何调用都会显示与命令窗口闪存打开的实例相同的行为。很快,我将通过调用纯 Windows 批处理文件替换激活 python venv 的调用来进行测试。我会告诉你我看到了什么。谢谢你的时间!
  • 您可以尝试创建一个设置执行目录的“链接”,然后您可以使用start "" /wait ... 或不使用start 来查看结果。您也可以隐藏或最小化窗口运行 bacth 文件。还要考虑在start 命令中不创建新窗口的/B 参数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-17
  • 2023-01-12
  • 1970-01-01
  • 2018-05-02
  • 2017-07-16
  • 1970-01-01
  • 2020-03-19
相关资源
最近更新 更多