gpt4 book ai didi

PowerShell 在执行命令时询问 "How do you want to open this file"

转载 作者:行者123 更新时间:2023-12-05 04:32:19 25 4
gpt4 key购买 nike

从 Windows 11 升级后,Select-String cmdlet 停止工作,每次我使用它时,它都会尝试“打开未知文件”,如下图所示:

Example of strange Select-String behaviour

我在尝试从批处理文件运行我的一个 ps 脚本时发现了它 - 在 Win 10 中运行良好,但在 Win 11 中则不然。当我在 VSCode 中运行代码时,它工作正常,我不知道为什么。

Example of VSCode's Select-String correct behaviour

我尝试将文本从 VSCode(以防编码不同)复制到新文件并直接复制到 PowerShell 终端,但这些都不起作用。

我还尝试了新的 Windows 11 终端并将 PowerShell 更新到最新版本 (7.2.2 x64),但没有任何效果。

禁用/启用 Windows PowerShell 2.0 的系统功能在这种情况下也没有效果。

编辑:
我发现如果我在脚本开头运行命令 Update-Script(不带任何参数),Select-String 会按预期工作(在此之前 cmdlet 似乎根本不存在 - Get-Help Select-String 没有找到任何东西,但是在使用 Update-Script 之后它找到了适当的帮助)。其他一些命令也有同样的作用(例如 Trace-Command)。查看输出:

PS C:\> Get-Command Select-String
CommandType Name Version Source
----------- ---- ------- ------
Application Select-String 0.0.0.0 C:\WINDOWS\system32\Select-String

PS C:\> Update-Script
PS C:\> Get-Command Select-String

CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Select-String 3.1.0.0 Microsoft.PowerShell.Utility

Trace-Command“使”Select-String 像 Update-Script 一样正常工作并提供以下输出:

DEBUG: CommandDiscovery Information: 0 : Looking up command: Select-String
DEBUG: CommandDiscovery Information: 0 : Cmdlet found: Select-String Microsoft.PowerShell.Commands.SelectStringCommand
hello everybody!

为什么我必须这样做(调用 Update-Script),而 Select-String 在没有它的情况下应该可以工作?

最佳答案

嗯,有很多关于powershell“你想如何打开这个文件”的讨论(没有真正解决),但最后,这是我的问题:

https://serverfault.com/questions/1038546/powershell-start-job-returns-a-how-do-you-want-to-open-this-file-with-some-cm

解决方法:

删除文件 c:\Windows\System32\Select-string(0 字节,无文件扩展名)。我不知道它是怎么到那里的……

关于PowerShell 在执行命令时询问 "How do you want to open this file",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71684323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com