是否可以从 PowerShell 打开 Windows 资源管理器窗口?

问题描述 投票:0回答:13

我确信这一定是可能的,但我不知道该怎么做。

有什么线索吗?

powershell explorer
13个回答
863
投票

用途:

ii .

这是

的缩写
Invoke-Item .

点可以替换为任何路径。


180
投票

您有几个选择:

示例:

PS C:\> explorer
PS C:\> explorer .
PS C:\> explorer /n
PS C:\> Invoke-Item c:\path\
PS C:\> ii c:\path\
PS C:\> Invoke-Item c:\windows\explorer.exe
PS C:\> ii c:\windows\explorer.exe
PS C:\> [diagnostics.process]::start("explorer.exe")

64
投票

使用其中任何一个:

  1. start .
  2. explorer .
  3. start explorer .
  4. ii .
  5. invoke-item .

您可以在 PowerShell 中应用这些命令中的任何一个。

以防万一您想从命令提示符打开资源管理器,最后两个命令不起作用,前三个命令可以正常工作。


34
投票

只需使用

Invoke-Item
cmdlet。例如,如果您想在当前目录上打开资源管理器窗口,您可以执行以下操作:

Invoke-Item .

30
投票
explorer .

23
投票

我遇到了这个问题,正在寻找一种从 PowerShell 打开资源管理器窗口并选择文件的方法。我添加这个答案是为了防止其他人出于同样的原因遇到它。

要启动资源管理器并选择文件,请使用 Invoke-Expression:

Invoke-Expression "explorer '/select,$filePath'"

可能还有其他方法可以做到这一点,但这对我有用。


11
投票
$startinfo = new-object System.Diagnostics.ProcessStartInfo 
$startinfo.FileName = "explorer.exe"
$startinfo.WorkingDirectory = 'D:\foldername'

[System.Diagnostics.Process]::Start($startinfo)

希望这有帮助


6
投票
start explorer.exe 

简单的单行命令


5
投票

这是唯一符合我希望文件夹在任何现有资源管理器窗口中作为 Quizo Tab 打开的独特限制的东西。

$objShell = New-Object -ComObject "Shell.Application"
$objShell.Explore("path")

3
投票

单行命令,这对我有用

explorer .\


2
投票

我想写这个作为评论,但我没有 50 声望。

本帖中的所有答案本质上都是使用 Invoke-Item 或直接使用 explorer.exe;但是,这并不完全与“打开包含文件夹”同义,因此就打开资源管理器窗口而言,如问题所述,如果我们想将答案应用于特定文件,则问题仍然没有真正得到解答。

例如,

Invoke-Item C:\Users\Foo\bar.txt
explorer.exe C:\Users\Foo\bar.html

^ 这两个命令将导致分别在两个文件上调用 Notepad.exe 或 Firefox.exe,而不是 C:\Users\Foo\(包含目录)上的 explorer.exe 窗口。

然而,如果从 powershell 发出此命令,这没什么大不了的(无论如何都要少打字),如果正在编写脚本并且需要在变量上“打开包含文件夹”,那么就变成了字符串匹配来提取目录的问题从文件的完整路径。

是否没有简单的命令“Open-Containing-Folder”可以替换变量?

例如,

$foo = "C:\Users\Foo\foo.txt"    
[some code] $fooPath
# opens C:\Users\Foo\ and not the default program for .txt file extension

1
投票

对于 powershell 也许这是 Windows 11 的一个想法,我不知道如何在一个带有 n 个选项卡的窗口中打开所有位置/文件夹。 $c = @('c:\users', 'c:', 'c: emp');调用项目 $c


0
投票

如果您需要某些凭据才能访问文件夹(或 UNC 路径),资源管理器 $fooPath 将提示您输入凭据,但 Invoke-Item 或 Set-Location $fooPath 将抛出 ItemNotFoundException。

© www.soinside.com 2019 - 2024. All rights reserved.