A saída de cada comando resulta em um arquivo separado

2

Eu tenho o seguinte script que executa um passo um após o outro:

@echo off
set /p guid=Please enter GUID:
start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test map %guid%
start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test compare %guid%
start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test analyse %guid%
start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test update %guid%
pause 

Eu gostaria de registrar a saída de cada uma dessas etapas em seu próprio arquivo de texto, preferencialmente com um nome que corresponda ao processo que está sendo executado, para que os seguintes arquivos de log sejam criados:

map.txt
compare.txt
analyse.txt
update.txt

o que seria ainda melhor seria se os arquivos tivessem a data e a hora pré-anexadas:

2015-09-22 10:23:47.048_map.txt
2015-09-22 10:23:47.048_compare.txt
2015-09-22 10:23:47.048_analyse.txt
2015-09-22 10:23:47.048_update.txt
    
por Xerxes 22.08.2015 / 11:37

1 resposta

4

Eu vou adivinhar que você já descobriu isso agora. Para outros que podem ter uma pergunta semelhante, aqui está uma resposta:

@echo off
set filePrefix=C:\%Date:~10,4%-%Date:~4,2%-%Date:~7,2%%time%_
set /p guid=Please enter GUID:
start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test map %guid% > %filePrefix%map.txt
start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test compare %guid% > %filePrefix%compare.txt
start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test analyse %guid% > %filePrefix%analyse.txt
start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test update %guid% > %filePrefix%update.txt
pause

Observe que% date% e% time% podem ser formatados de maneira diferente em diferentes locais -% date% pode ou não incluir o dia da semana e possivelmente pode ser dd / mm em vez de mm / dd; % time% pode ser hh: mm: ss ou outra coisa (por exemplo, hh-mm-ss), possivelmente com segundos fracionários (ponto decimal) - portanto, isso pode precisar ser ajustado. Os deslocamentos em% date% (10, 4 e 7) podem precisar ser ajustados para localizar o ano, mês e dia. Se% time% contiver dois pontos, você precisará removê-los / substituí-los por nomes de arquivos do Windows, e a hora poderá ter um espaço inicial (em vez de zero) entre 1h e 9h59.

    
por 22.08.2015 / 12:29