Eu quero ter um arquivo de lote que execute um arquivo executável, mas escreva alguns comandos automaticamente

1

Eu quero ter um arquivo em lotes que execute um arquivo executável (Test.exe). quando test.exe é chamado, ele abriria um ambiente de prompt de comando. Neste estágio, eu quero que alguns comandos definidos sejam gravados automaticamente nesse ambiente de prompt e, em seguida, pressione enter automaticamente para que meus comandos sejam executados

    
por user44509 17.08.2010 / 17:22

4 respostas

1

cmd /C string Executa o comando especificado por string e, em seguida, finaliza o prompt de comando
cmd /K string Executa o comando especificado por string, mas deixa o prompt de comando

A maneira padrão de executar múltiplos comandos de uma só vez é separar cada comando com && ; por exemplo, echo hello && pause escreverá "hello" no prompt de comando e aguardará que você pressione uma tecla. Você pode combinar isso com o uso de / C ou / K descrito acima para executar vários comandos. Para usar o prompt de comando do visual studio, você pode querer que o primeiro comando seja para alterar o diretório para qualquer diretório do Prompt de Comando do VS, usando o comando cd .

Outras opções incluem configurar o caminho, ativar ou desativar o eco, etc. Execute cmd /? no prompt de comando para obter informações detalhadas sobre os argumentos de linha de comando do cmd.exe.

Assim, seu arquivo de lote provavelmente se pareceria com algo assim:

start test.exe
start cmd.exe /C cd "%programfiles%\Microsoft Visual Studio x.x\VC" && title Visual Studio Command Prompt && command1 && command2 && command3
    
por 17.08.2010 / 20:06
0

Por uma questão de curiosidade, por que você quer que os comandos apareçam e sejam exibidos?

No entanto, o test.exe deve ser criado usando uma linguagem de programação que suporte a abertura de aplicativos e o envio de toques de tecla para ele. Existe alguma linguagem de programação com a qual você esteja familiarizado? Isto é, se você quiser que o test.exe abra o prompt de comando e execute o trabalho.

Esta é a maneira do .NET de fazer isso

A maneira mais fácil é chamar outro arquivo de lote ou o mesmo arquivo de lote pode ser usado. O arquivo de lote teria ECHO ON (por padrão, o ECHO é ON), então todos os comandos que você escreve no arquivo de lote seriam mostrados ao usuário, a menos que você faça um ECHO OFF. Mas usando o método, eu não vejo porque um test.exe seria necessário, a menos que você queira que o test.exe faça outra coisa além de abrir um arquivo de lote e mostrar comandos.

    
por 17.08.2010 / 17:38
0

Portanto, test.exe é uma espécie de janela de prompt de comando (mas especializada) e você deseja criar um script que execute comandos no aplicativo de teste. Algo como isso deve funcionar:

Primeiro, crie um arquivo chamado, digamos, myscript.cmd . Em seguida, abra o Bloco de Notas e digite-o em:

test.exe < myscript.cmd
    
por 17.08.2010 / 17:39
0

Já experimentou o PowerShell? A Microsoft parece estar vendo a luz ao redor usando uma linha de comando e o PowerShell parece ser sua direção para o futuro próximo.

    
por 17.08.2010 / 18:09