是否有可能从PowerShell打开Windows资源pipe理器窗口?

我相信这一定是可能的,但我不知道如何去做。

任何线索?

使用:

ii . 

这是我在PowerShell命令行中input的最常见的东西之一。

你有几个select:

  • Powershell在您的path中查找可执行文件,就像cmd.exe一样。 所以你可以在PowerShell提示符下inputexplorer。 使用此方法,您也可以传递cmd行参数(请参阅http://support.microsoft.com/kb/314853
  • Invoke-Item cmdlet提供了一种运行可执行文件或从Windows PowerShell中打开文件(或文件集)的方法。 别名:ii
  • 使用system.diagnostics.process

例子:

 PS C:\>浏览器
 PS C:\>浏览器。
 PS C:\> explorer / n
 PS C:\> Invoke-Item c:\ path \
 PS C:\> ii c:\ path \
 PS C:\>调用项目c:\ windows \ explorer.exe
 PS C:\> ii c:\ windows \ explorer.exe
 PS C:\> [diagnostics.process] :: start(“explorer.exe”)

只需使用invoke-item cmdlet即可。 例如,如果你想在当前目录上打开一个资源pipe理器窗口,你可以这样做:

 invoke-item . 
 explorer . 

我遇到了这个问题寻找一种方法来从PowerShell打开浏览器窗口, select一个文件。 我添加这个答案,以防其他人遇到同样的原因。

要启动资源pipe理器并select一个文件,请使用Invoke-Expression

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

也许还有其他的方法可以做到这一点,但这对我来说很有效。

 $startinfo = new-object System.Diagnostics.ProcessStartInfo $startinfo.FileName = "explorer.exe" $startinfo.WorkingDirectory = 'D:\foldername' [System.Diagnostics.Process]::Start($startinfo) 

希望这可以帮助

使用任何这些:

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

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

以防万一你想从命令提示符打开探索,最后两个命令不起作用,前三个罚款。

启动explorer.exe

简单的单行命令

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

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

例如,

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

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

而如果从powershell发出这个命令,这将是没有什么大不了的(less打字),如果是脚本,并需要“打开包含文件夹”的variables,它成为一个string匹配的问题提取目录文件的完整path。

是否没有简单的命令“打开包含文件夹”,这样一个variables可以被replace?

例如,

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

使用这一行:

 invoke-item c:\path 

这是唯一符合我独特约束的事情

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