Abra o diálogo Executar ... do comando

4

Gostaria de executar o diálogo Executar ... (o Win + R ) a partir de um comando em lote? Há um shotcut em C:\Users\USER\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools , mas o shotcut não leva a lugar nenhum, o alvo é apenas "Run ..." e o diretório de destino é meu desktop.

Como posso executar o diálogo a partir de um comando?

    
por richie 13.01.2013 / 12:36

5 respostas

6

Vista ou posterior

Se você estiver no Windows Vista ou posterior, ele virá com o PowerShell. O PowerShell one-liner (New-Object -ComObject "Shell.Application").FileRun() funcionará.

Você pode executar isso diretamente da linha de comando herdada (ou dentro de um arquivo em lotes) com o seguinte:

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

Esta é uma adaptação do comando VBScript descrito abaixo.

Pré-Vista

Para versões mais antigas do Windows (isso também funcionará em versões mais recentes, mas requer um arquivo adicional), você pode fazer isso via VBScript, usando o objeto Shell:

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

Reduzindo-o em uma linha:

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

Simples insira essa linha em seu próprio arquivo de texto simples e salve-a com a extensão .vbs , por exemplo, %código%. Em seguida, execute ShowRunDialog.vbs na linha de comando.

Isso indiretamente executa a função ShowRunDialog.vbs contida em RunFileDlg . Veja aqui .

    
por 13.01.2013 / 13:24
6

Este comando pode ser iniciado a partir de qualquer programa / script para mostrar a caixa de diálogo "Executar":

explorer.exe Shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}
    
por 04.09.2014 / 13:24
2

Sou apenas um programador amador, mas acho que seria mais curto e mais eficiente colocar o comando para o que você deseja no arquivo em lote, em vez do procedimento arriscado de solicitar a abertura da caixa de diálogo Executar.

Coisas ruins podem acontecer com o seu arquivo de lote se um usuário estiver presente quando o .bat for executado. Parece apenas programação mais simples para dar uma instrução de linha de comando dentro desse arquivo em lote.

    
por 13.01.2013 / 13:14
2

Abaixo funciona para o meu Windows de 32 bits:

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

Alguém conhece a versão de 64 bits?

    
por 06.05.2016 / 06:52
1

A maneira mais preguiçosa é usar AutoHotKey para literalmente enviar o comando Win + R para o sistema operacional:

SendInput, {LWin down}r{LWin up}

Eu fui em frente e fiz upload de um ZIP contendo um script AutoHotKey e um .exe compilado do script. Peço desculpas se há uma maneira "melhor" de lidar com isso; uma vez que eu encontre uma maneira que funcione, eu passo para a próxima coisa!

    
por 13.01.2013 / 12:58