題 從命令打開運行...對話框


我想運行Run ...對話框( 贏得+[R)從批處理命令?它有一個切入點 C:\Users\USER\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools 但是那個鏡頭無處可去,目標只是“運行......”而目標目錄是我的桌面。

如何從命令運行對話框?


4
2018-01-13 11:36


起源




答案:


Vista或更高版本

如果您使用的是Windows Vista或更高版本,它將隨PowerShell一起提供。 PowerShell單線程 (New-Object -ComObject "Shell.Application").FileRun() 將工作。

您可以使用以下命令直接從舊命令行(或批處理文件)中運行此命令:

powershell -c (New-Object -ComObject "Shell.Application").FileRun()

這是對下面概述的VBScript命令的改編。


預Vista的

對於舊版本的Windows(這也適用於較新版本,但需要其他文件),您可以使用Shell對象通過VBScript執行此操作:

dim oShell = CreateObject("shell.application")
oShell.FileRun()

將其縮小為一行:

CreateObject("shell.application").FileRun()

簡單地將該行放入其自己的純文本文件中並使用擴展名保存 .vbs,例如 ShowRunDialog.vbs。然後跑 ShowRunDialog.vbs 從命令行。

這間接地運行了 RunFileDlg 包含在內的功能 shell32.dll。看到 這裡


6
2018-01-13 12:24





可以從任何程序/腳本啟動此命令以顯示“運行”對話框:

explorer.exe Shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}

6
2017-09-04 11:24



這就是我正在尋找的東西。非常感謝:) - Atul


我只是一個業餘程序員,但它讓我覺得將命令放在批處理文件中的所需內容更短,更有效,而不是調用“運行”對話框打開的危險程序。

如果.bat運行時存在用戶,則批處理文件可能會發生錯誤。從該批處理文件中提供命令行指令似乎更簡潔。


2
2018-01-13 12:14





以下適用於我的32位Windows:

c:\WINDOWS\system32\rundll32.exe shell32.dll,#61

有誰知道64位版本?


2
2018-05-06 04:52



適用於Windows 7 64位。 - DavidPostill♦
好,所以這一行比我想的選擇答案要好。 - James Yang
也適用於Windows 8.1 64位,但沒有“鍵入程序的名稱......”題詞,這是空白的 - w17t
%WINDIR%\ SysWOW64 \ rundll32.exe shell32.dll,#61 - caiohamamura


最懶的方式是使用 AutoHotkey的 字面上將Win + R命令發送到操作系統:

SendInput, {LWin down}r{LWin up}

我繼續前進 上傳了一個ZIP 包含AutoHotKey腳本和已編譯的腳本 .exe 的腳本。如果有一個“更好”的處理方法,我道歉;一旦我找到一種有效的方法,我就會繼續下一件事!


1
2018-01-13 11:58



這種方法的一個缺點是它需要Explorer運行和處理 Win + R 熱鍵。如果資源管理器未運行,則不會發生任何事情 - 雖然運行對話框不依賴於資源管理器,但此熱鍵確實如此。 - Bob