我相信这一定是可能的,但我不知道该怎么做。
有线索吗?
我相信这一定是可能的,但我不知道该怎么做。
有线索吗?
$startinfo = new-object System.Diagnostics.ProcessStartInfo
$startinfo.FileName = "explorer.exe"
$startinfo.WorkingDirectory = 'D:\foldername'
[System.Diagnostics.Process]::Start($startinfo)
希望这能有所帮助
你有几个选择:
Powershell查找路径中的可执行文件,就像cmd.exe一样。你可以在powershell提示符下输入资源管理器。使用此方法,您还可以传递cmd行参数(参见http://support.microsoft.com/kb/314853) Invoke-Item cmdlet提供了一种在Windows PowerShell中运行可执行文件或打开文件(或一组文件)的方法。别名:2 使用system.diagnostics.process
例子:
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")
我在寻找一种从PowerShell打开资源管理器窗口并选择文件的方法时遇到了这个问题。我加上这个答案,以防其他人出于同样的原因遇到它。
要启动资源管理器并选择一个文件,使用Invoke-Expression:
Invoke-Expression "explorer '/select,$filePath'"
也许还有其他方法可以做到这一点,但这个方法对我来说很管用。
我想写这篇评论,但我没有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发出这个命令,这不是什么大问题(无论如何都不需要输入),如果编写脚本并且需要在变量上“打开包含文件夹”,那么就变成了一个字符串匹配问题,以便从文件的完整路径中提取目录。
是否没有简单的命令“打开包含文件夹”这样一个变量可以被替换?
例如,
$foo = "C:\Users\Foo\foo.txt"
[some code] $fooPath
# opens C:\Users\Foo\ and not the default program for .txt file extension
使用以下任何一种:
开始。 探险家。 启动资源管理器。 2 invoke项。
您可以在PowerShell中应用这些命令。
以防您想从命令提示符打开资源管理器,最后两个命令不起作用,而前三个命令可以正常工作。
这是唯一符合我的独特限制,希望文件夹打开作为一个Quizo标签在任何现有的资源管理器窗口。
$objShell = New-Object -ComObject "Shell.Application"
$objShell.Explore("path")