Ao abrir um executável usando o explorer.exe, como passo os argumentos para o executável?

3

Isso está intimamente relacionado a uma solução para outra pergunta minha: Como invocar o gvim do Windows em um ambiente Windows a partir do Cygwin?

Descobri agora que dar explorer.exe 'C:\Program Files (x86)\Vim\vim73\gvim.exe' na linha de comando do Cygwin abre o gVim do Windows em um contexto do Windows corretamente. Eu escrevi uma função gvim no meu .bashrc que executa o comando acima quando chamado sem argumentos. No entanto, gostaria de saber como posso passar os argumentos para o gVim se a função for chamada com argumentos. Tentar explorer.exe 'C:\Program Files (x86)\Vim\vim73\gvim.exe' D:\myfile.txt apenas abre o Windows Explorer para a página Bibliotecas, portanto, essa sintaxe direta não funciona, mas não consigo encontrar qual é a maneira correta de passar esses argumentos.
Googling só me dá a lista de opções para o explorer.exe, mas nada sobre a passagem de argumentos para executáveis executados com o explorer.exe.

Editar : Por favor, note que eu estou executando isso do Cygwin, e eu tentei muitas das soluções mais simples antes de pousar usando explorer.exe , como documentado na questão ligada ao topo. cygstart e cmd.exe /c deixam os remanescentes do ambiente Cygwin dentro do gVim aberto, o que causa alguns problemas, conforme mencionado aqui.

    
por sundar 11.08.2013 / 19:50

1 resposta

1

A melhor maneira que encontrei para conseguir isso foi criar um arquivo de lote contendo a chamada para o executável com os parâmetros e, em seguida, executar o arquivo em lotes usando o explorer.exe. Nesse caso, o arquivo em lote é executado no contexto do processo do explorador e tudo o que ele executa permanece no mesmo contexto. Significa criar um arquivo de lote, vamos chamá-lo de c:\activate.bat e colocar dentro desse arquivo a chamada C:\Program Files (x86)\Vim\vim73\gvim.exe' D:\myfile.txt . Quando o arquivo existir, ele poderá ser chamado usando explorer.exe %windir%\explorer.exe c:\activate.bat . No meu caso, também apaguei o arquivo depois, mas isso não é necessário.

    
por 11.09.2017 / 18:28