是否有可能从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)
希望这可以帮助
使用任何这些:
-
start .
-
explorer .
-
start explorer .
-
ii .
-
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")