Use o arquivo em lote para executar exe e resultados de saída para texto

0

Eu tenho um programa que é executado a partir do prompt do cmd que será executado continuamente como é a saída de texto. Eu posso fazer com que ele envie o texto para um arquivo de texto adicionando > path\filename.ext ao final. Eu quero escrever um arquivo em lotes que irá gravar em um arquivo de texto. Ele deve marcar o início do horário, executar por 30 segundos e, em seguida, o registro de data e hora no final. Isso é o que eu tenho:

@echo off
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-3 delims=/:/ " %%a in ('time /t') do (set mytime=%%a:%%b %%c)
set mytime=%mytime: =% 
echo %mydate%_%mytime% > path\results.txt
start runfile.exe --option=alpha path/data.ext >> path\results.txt
timeout /t 30
taskkill /im runfile.exe /f
echo %mydate%_%mytime% >> path\results.txt

Existem 2 problemas com isso, 1) ele não está exibindo o runfile.exe para o meu arquivo de texto, e 2) ele não está finalizando o runfile.exe após 30 segundos.

    
por Andrew 16.01.2014 / 16:58

1 resposta

0

1) Na sua linha start runfile.xe parms , tente usar start "" runfile.exe parms

2) Quando você inicia o runfile.exe, qual é o nome da imagem? Quando você inicia o gerenciador de tarefas, ele ainda é chamado de "runfile.exe" ou muda para outra coisa?

Eu tenho um programa que usa um lançador. O lançador é chamado "runme.exe" (este é apenas um exemplo), que por sua vez prepara outros programas para um programa chamado "programname.exe" Se eu quisesse matar essa tarefa, eu teria que matar "programname.exe" como esse é o programa que permanece na memória depois que o "runme.exe" termina a execução. Verifique e veja se o seu programa faz algo semelhante.

Espero que isso ajude.

    
por 16.01.2014 / 17:34