【问题标题】:no output from scripts under Windows 10Windows 10 下的脚本没有输出
【发布时间】:2017-12-29 01:12:31
【问题描述】:

最近几天我搜索了很多,但找不到我缺少的东西。 我们大量使用脚本(vbs、Python、Groovy)进行测试。 前几天我得到了一个装有 Windows 10 的新笔记本,现在脚本没有输出。它们运行,但它就像 Windows 吞咽标准输出,也重定向到文件不起作用。 我团队中的其他人还没有 Windows 10,所以我不确定这是否特定于 Windows 10 或我的计算机。我们的 IT 也帮不上忙。

当我在脚本名称左侧给出 cscript.exe、python.exe 或 groovy.exe 时,一切都很好,但当我通过文件关联调用脚本时就不行了。他们跑着,但安静地跑着!

我重新安装了 Python 和 Groovy,所以 ftype 和 assoc 都可以,如 How to run VBScript from command line without Cscript/WscriptPerl not running in Windows 10 中给出的那样。

我还检查了 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\ 中的 InheritConsoleHandles,正如 Cannot redirect output when I run Python script on Windows using just script's name 中所暗示的那样。

我们需要将 exe 调用放在前面的地方太多了,需要一个更好的解决方案。请帮忙。

【问题讨论】:

  • 由于与编程无关,这个问题我应该迁移到Super User

标签: python groovy vbscript windows-10


【解决方案1】:

我也遇到了同样的情况,我的意思是这是 Windows 10 的资源管理器特有的。如果您将以下内容保存到 *.reg 文件中

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"InheritConsoleHandles"=dword:00000000

然后双击它,它应该可以工作了。

请参阅https://social.msdn.microsoft.com/Forums/en-US/f19d740d-21c8-4dc2-a9ab-d5c0527e932b/nasty-file-association-regression-bug-in-windows-10-console 了解说明。 真恶心。

我不会依赖这个,因为微软可以通过更新改变(修复?)行为,即

"InheritConsoleHandles"=dword:00000001

将再次需要(我最初在 Windows 10 系统中的值并产生了问题)。

【讨论】:

  • 我现在在 Windows 10 上有这个。对我来说,解决这个问题的唯一方法是使用 exe 的完整路径执行 Python。注册表中的更改没有帮助。
  • 谢谢!将此设置为 0(或删除密钥!)对我有用。该问题仅出现在我的一个系统上,该系统具有密钥(设置为 1);工作的人甚至没有钥匙。对于任何阅读的人:是的,微软显然改变了值的含义。
猜你喜欢
  • 2017-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多