Answers:
您有几种选择:
例子:
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")
ii
是Invoke-Item
$startinfo = new-object System.Diagnostics.ProcessStartInfo
$startinfo.FileName = "explorer.exe"
$startinfo.WorkingDirectory = 'D:\foldername'
[System.Diagnostics.Process]::Start($startinfo)
希望这可以帮助
start explorer.exe
简单的单行命令
我想写这个作为评论,但我没有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