Arquivo bat para executar um .exe no prompt de comando

134

Eu quero criar um arquivo .bat para que eu possa clicar nele para que ele possa ser executado:

svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service

Alguém pode me ajudar com a estrutura do arquivo .bat?

abatishchev
fonte

Respostas:

198

Para iniciar um programa e fechar o prompt de comando sem aguardar a saída do programa:

start /d "path" file.exe
abatishchev
fonte
10
@MehdiJ: define o diretório inicial.
Abatishchev
2
é possível executar o arquivo bat do navegador da web? como um javascript para chamar o arquivo bat ??
Karthi
4
@Karthi: Desculpe, é impossível
abatishchev
1
@Karthi Você não deseja que o javascript possa executar um arquivo bat por razões de segurança.
Roland
1
como você espera o programa sair?
M4l490n
48

Você pode usar:

start "windowTitle" fullPath/file.exe

Nota: o primeiro conjunto de aspas deve estar lá, mas você não precisa colocar nada nelas, por exemplo:

start "" fullPath/file.exe
user2075928
fonte
8
O 'primeiro conjunto de aspas' é apenas o título da janela e NÃO é obrigatório. No entanto, é melhor especificar o diretório de inicialização usando / d start /d "fullpath" file.exe Isso garante que todos os arquivos dependentes sejam, por exemplo, uma DLL, encontrados e carregados.
22615 Tom Tom Wilson
34

é um código muito simples para executar o tipo de código abaixo do bloco de notas em um bloco de notas e salvar na extensão .bat Exapmle: notepad.bat

start "c:\windows\system32" notepad.exe   

(o código acima "c: \ windows \ system32" é o caminho em que você manteve o programa .exe e o notepad.exe é o arquivo do arquivo de programa .exe)

desfrutar!

shinukb
fonte
27

Basta colocar essa linha no arquivo bat ...

Como alternativa, você pode até criar um atalho para svcutil.exe e adicionar os argumentos na janela 'target'.

GavinCattell
fonte
7

Um arquivo bat não tem estrutura ... é como você digitaria na linha de comando. Então, basta abrir o seu editor favorito .. copie a linha de código que você deseja executar .. e salve o arquivo como o que quer que seja. Bat ou o que seja. Cmd

MBoy
fonte
7

Basta colar um arquivo e chamá-lo de "ServiceModelSamples.bat" ou algo assim.

Você pode adicionar "@echo off" como linha um, para que o comando não seja impresso na tela:

@echo off
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service
myplacedk
fonte
E, em vez de adicionar um @echo offcomo primeira linha, você poderia simplesmente adicionar @no início da linha que você não quer ser ecoado ...
menssana
6

O que está parando você?

Coloque este comando em um arquivo de texto, salve-o com a extensão .bat (ou .cmd) e clique duas vezes nele ...

Presumindo que o comando seja executado no seu sistema, acho que é isso.

Simon
fonte
6

Se você quiser ser realmente inteligente, na linha de comando, digite:

echo svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service >CreateService.cmd

Então você tem CreateService.cmdque pode rodar quando quiser ( .cmdé apenas outra extensão para .batarquivos)

kͩeͣmͮpͥ ͩ
fonte
3

Conforme descrito aqui , sobre o Startcomando, o seguinte iniciaria seu aplicativo com os parâmetros que você especificou:

start "svcutil" "svcutil.exe" "language:cs" "out:generatedProxy.cs" "config:app.config" "http://localhost:8000/ServiceModelSamples/service"
  • "svcutil", após o startcomando, é o nome dado à janela do CMD ao executar o aplicativo especificado. Este é um parâmetro necessário do startcomando.

  • "svcutil.exe"é o caminho absoluto ou relativo para o aplicativo que você deseja executar. O uso de aspas permite que você tenha espaços no caminho.

  • Após a especificação do aplicativo iniciar, todos os seguintes parâmetros são interpretados como argumentos enviados ao aplicativo.

Gipphe
fonte
2

Se suas pastas estiverem definidas como "ocultar extensões de arquivo", você nomeará o arquivo * .bat ou * .cmd e ainda será um arquivo de texto (extensão .txt oculta). Certifique-se de que você pode nomear corretamente um arquivo!

Marca
fonte
1

Bem, o ponto importante que parece aqui é que svcutil não está disponível por padrão na linha de comando, você pode executá-lo a partir do atalho da linha xommand vs, mas se você criar um arquivo em lotes normalmente que não ajudará, a menos que você execute o arquivo vcvarsall.bat antes o script. Abaixo está uma amostra

"C: \ Arquivos de Programas \ Microsoft Visual Studio * versão * \ VC \ vcvarsall.bat"
svcutil.exe / idioma: cs /out:generatedProxy.cs /config:app.config http: // localhost: 8000 / ServiceModelSamples / service
arkoak
fonte