如何通过命令行让Windows资源管理器在已有实例中以新标签打开指定文件夹
如何通过命令行让Windows资源管理器在已有实例中以新标签打开指定文件夹
我完全懂你的困扰!Windows 11里哪怕已经设置了“在同一窗口打开文件夹”,直接用explorer .或者Invoke-Item .还是会弹出新的资源管理器窗口,官方的explorer /?也没给出开新标签的参数,确实挺闹心的。
不过有个原生的解决方案,不用装第三方工具,就是通过PowerShell调用系统的COM接口来实现:
1. 直接在PowerShell里执行
打开PowerShell(或者在cmd里调用PowerShell),运行这条命令:
$shell = New-Object -ComObject Shell.Application $shell.Open((Get-Location).Path)
这个命令会调用资源管理器的内部接口,自动识别已打开的资源管理器窗口,在里面新开一个标签页打开当前目录。
2. 封装成快捷命令(适合cmd/PowerShell通用)
如果觉得上面的命令太长,可以做个批处理脚本:
- 新建一个文本文件,命名为
openhere.bat - 把下面的内容复制进去:
@echo off powershell -Command "$shell = New-Object -ComObject Shell.Application; $shell.Open("%CD%")"
- 把这个批处理文件放到系统路径下(比如
C:\Windows\System32,需要管理员权限)
之后不管是在cmd还是PowerShell里,只要输入openhere,就能直接在已有资源管理器窗口的新标签里打开当前目录了。
顺便说下原理:explorer.exe本身的命令行参数确实没有公开支持开新标签的选项,而通过Shell.Application这个COM对象调用Open方法,是直接和资源管理器的运行实例交互,所以能触发新标签的打开逻辑,刚好匹配你已经设置的“同一窗口打开文件夹”的偏好。
备注:内容来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

