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


304

我敢肯定这是有可能的,但是我不知道该怎么做。

有什么线索吗?

Answers:


665

采用:

ii .

这是短的

Invoke-Item .

这是我在PowerShell命令行中键入的最常见的内容之一。


3
有趣的是,除了您之外,没有人回答这个最简单的答案。:)
halr9000

15
我是一个非常简单的人。
EBGreen

85
该命令是Invoke-Item的缩写。它后面的点可以是任何路径。
M. Dudley

很棒,很简单的答案!我喜欢。
安东尼·利里亚诺

因此,默认的第一个参数iiexplorer,第二个参数是path。
Timo

145

您有几种选择:

例子:

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")

5
您还可以执行以下操作:invoke-item c:\ path \
x0n 2012年

这是这里措辞最好,信息最丰富的答案,并且还应包括此处其他建议的答案,尤其是“ ii”。
DaveD

iiInvoke-Item
Kolob Canyon

32

使用以下任何一种:

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

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

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


23

只需使用Invoke-Itemcmdlet。例如,如果要在当前目录上打开资源管理器窗口,可以执行以下操作:

Invoke-Item .

的别名是ii。
VivekDev


18

我碰到这个问题,寻找一种方法来打开从PowerShell中的资源管理器窗口,选择一个文件。我要添加此答案,以防其他人出于相同的原因遇到它。

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

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

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


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

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

希望这可以帮助


1
我不知道为什么这会被否决-我可以看到由于缺乏优雅而不赞成,但它仍然是一个很好的答案(虽然有些罗word):)
slipsec

1
我同意。它包含许多代码,但具有一定的灵活性。
Mike Shepard

当我使用此代码时,它将打开资源管理器,但不会打开作为WorkingDirectory传递的目录。它只是打开Libraries文件夹。shovavnik提交的答案可以单行正确完成。
Phoenix14830


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

2
调用项([io.fileinfo]“ C:\ temp \ file.txt”)。目录
Dave_J

一种替代方法,基本上相同,但全部保留在Powershell cmdlet中:ii(拆分路径“ C:\ temp \ file.txt”)
EBGreen

0

这是唯一适合我要在任何现有“资源管理器”窗口中将文件夹作为Quizo Tab打开的唯一约束。

$objShell = New-Object -ComObject "Shell.Application"
$objShell.Explore("path")
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.