如何从cmd.exe打开给定目录中的资源管理器窗口?

Rob*_*arl 21 windows scripting cmd

我看到如何从批处理文件中启动许多其他程序,但我找不到像openMac OS X上的命令.Windows上是否存在这样的工具?Powershell或来自可执行文件的Windows API调用也可以.

Len*_*rri 24

在Windows中,您可以使用以下命令打开资源管理器:

C:\Users\Leniel>start %windir%\explorer.exe
Run Code Online (Sandbox Code Playgroud)

如果您希望它打开特定文件夹,请执行以下操作:

C:\Users\Leniel>start %windir%\explorer.exe "C:\Users\Leniel\Desktop"
Run Code Online (Sandbox Code Playgroud)

  • 同样,在启动 GUI 程序时,完全不需要“start”。此外,`explorer` 在`%PATH%` 中,所以无论如何`explorer someDir` 就足够了。 (7认同)
  • 你通常可以完全省略探险家:`start"c:\ mydir"` (5认同)
  • @mandrill:那将启动另一个控制台窗口,其中`c:\ mydir`为标题;-) (5认同)
  • 请注意,使用"start"而不是直接调用"explorer.exe"很重要.直接调用它会创建一个新的"explorer.exe"进程(具有相关的内存),而不是在现有的Explorer进程中打开一个新窗口. (3认同)

Joe*_*oey 17

的OS X的直接相当于openstartcmd.

start foo.txt
Run Code Online (Sandbox Code Playgroud)

会启动记事本(或你正在使用的任何文本编辑器),

start http://example.com
Run Code Online (Sandbox Code Playgroud)

会启动你的浏览器,

start \someDirectory
Run Code Online (Sandbox Code Playgroud)

将推出资源管理器等

必须注意引号中的参数,因为它start会将第一个引用的参数解释为要使用的窗口标题,所以类似于

start "C:\Users\Me\Folder with spaces\somedocument.docx"
Run Code Online (Sandbox Code Playgroud)

不会按预期工作.而是在这种情况下添加一个空的引用参数:

start "" "C:\Users\Me\Folder with spaces\somedocument.docx"
Run Code Online (Sandbox Code Playgroud)

请注意,这start不是一个单独的程序,而是一个shell-builtin.因此,要从外部程序调用它,您必须使用类似的东西

cmd /c start ...
Run Code Online (Sandbox Code Playgroud)

PowerShell中的等价物是Start-Process或者Invoke-Item.后者可能更适合这项任务.

Invoke-Item foo.txt  # launches your text editor with foo.txt
Invoke-Item .        # starts Explorer in the current directory
Run Code Online (Sandbox Code Playgroud)

至于Windows的API,你正在寻找ShellExecuteopen动词.

  • “开始”。在资源管理器中打开当前目录。 (2认同)

ANU*_*JAN 7

你可以试试

start .
Run Code Online (Sandbox Code Playgroud)

这将直接使用当前目录路径打开文件资源管理器。