我经常使用
ii .
在PowerShell中在Windows资源管理器中打开当前目录。这曾经一直在工作,但现在没有任何反应。
Invoke-Item
cmdlet仍然有效。执行ii somefile.txt
会在文本编辑器中打开该文件。但是目录不再起作用了。
此外start .
不起作用。使用explorer .
确实有效。
运行
Trace-Command -Name ParameterBinding {ii .} -PSHost
返回
DEBUG: ParameterBinding Information: 0 : BIND NAMED cmd line args [Invoke-Item]
DEBUG: ParameterBinding Information: 0 : BIND POSITIONAL cmd line args [Invoke-Item]
DEBUG: ParameterBinding Information: 0 : BIND arg [.] to parameter [Path]
DEBUG: ParameterBinding Information: 0 : Binding collection parameter Path: argument type [String], parameter type [System.String[]],
collection type Array, element type [System.String], no coerceElementType
DEBUG: ParameterBinding Information: 0 : Creating array with element type [System.String] and 1 elements
DEBUG: ParameterBinding Information: 0 : Argument type String is not IList, treating this as scalar
DEBUG: ParameterBinding Information: 0 : Adding scalar element of type String to array position 0
DEBUG: ParameterBinding Information: 0 : BIND arg [System.String[]] to param [Path] SUCCESSFUL
DEBUG: ParameterBinding Information: 0 : BIND cmd line args to DYNAMIC parameters.
DEBUG: ParameterBinding Information: 0 : MANDATORY PARAMETER CHECK on cmdlet [Invoke-Item]
DEBUG: ParameterBinding Information: 0 : CALLING BeginProcessing
DEBUG: ParameterBinding Information: 0 : CALLING EndProcessing
运行
Trace-Command -Name CommandDiscovery {ii .} -PSHost
返回
DEBUG: CommandDiscovery Information: 0 : Looking up command: ii
DEBUG: CommandDiscovery Information: 0 : Alias found: ii Invoke-Item
DEBUG: CommandDiscovery Information: 0 : Cmdlet found: Invoke-Item Microsoft.PowerShell.Commands.InvokeItemCommand,
Microsoft.PowerShell.Commands.Management, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
我想可能存在文件关联问题或其他问题。但我无法弄清楚Invoke-Item
实际上在调用什么或如何更改它。
我怎样才能让它再次运作?
答案 0 :(得分:2)
很难弄清楚为什么它可能不适合你,但为什么不使用powershell和cmd中相同的替代方案:
start .
(explorer .
也有效)
如果ii .
很重要,请尝试重新启动Powershell控制台和/或计算机。还可以尝试ii . -whatif
来查看你是否有任何关于它不再起作用的线索。