我想从批处理命令中运行“运行...”对话框 (+ Win) R?有一个快捷方式,C:\Users\USER\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools
但那个快捷方式没有任何作用,目标只是“运行...”,目标目录是我的桌面。
如何通过命令运行对话框?
答案1
Vista 或更高版本
如果你使用的是 Windows Vista 或更高版本,它将附带 PowerShell。PowerShell 单行命令(New-Object -ComObject "Shell.Application").FileRun()
将起作用。
您可以直接从旧命令行(或在批处理文件中)运行它,使用以下命令:
powershell -c (New-Object -ComObject "Shell.Application").FileRun()
这是下述 VBScript 命令的改编版。
Vista 之前
对于旧版本的 Windows(这也适用于较新版本,但需要额外的文件),您可以通过 VBScript 使用 Shell 对象执行此操作:
dim oShell = CreateObject("shell.application")
oShell.FileRun()
将其缩小为一行:
CreateObject("shell.application").FileRun()
只需将该行放入其自己的纯文本文件中,并使用扩展名保存.vbs
,例如。然后从命令行ShowRunDialog.vbs
运行。ShowRunDialog.vbs
这间接运行了RunFileDlg
中包含的函数shell32.dll
。请参阅这里。
答案2
可以从任何程序/脚本启动此命令以显示“运行”对话框:
explorer.exe Shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}
答案3
下面适用于我的 32 位 Windows:
c:\WINDOWS\system32\rundll32.exe shell32.dll,#61
有人知道 64 位版本吗?
答案4
最懒惰的方法是使用自动热键直接将 Win+R 命令发送给操作系统:
SendInput, {LWin down}r{LWin up}
我继续说上传了 ZIP 文件包含一个 AutoHotKey 脚本和该脚本的编译版本.exe
。如果有“更好”的方法来处理这个问题,我深表歉意;一旦我找到可行的方法,我就会继续做下一件事!