2

У меня есть следующий скрипт, который выполняет отдельный шаг один за другим:

@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 

Я хотел бы записать выходные данные каждого из этих шагов в свой собственный текстовый файл, предпочтительно с именем, которое соответствует выполняемому процессу, поэтому будут созданы следующие файлы журнала:

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

что было бы еще лучше, если бы к файлам были добавлены дата и время:

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

1 ответ1

4

Я догадываюсь, что вы уже поняли это. Для тех, у кого может быть похожий вопрос, вот ответ:

@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

Обратите внимание, что% date% и% time% могут быть отформатированы по-разному в разных локалях -% date% может включать или не включать день недели и может быть dd/mm вместо mm/dd; % time% может быть чч: мм: сс или что-то еще (например, чч-мм-сс), возможно, с долями секунды (десятичная точка) - так что это может потребоваться скорректировать. Смещения в% date% (10, 4 и 7), возможно, должны быть скорректированы, чтобы найти год, месяц и день. Если% time% содержит двоеточия, вам необходимо удалить / заменить их для имен файлов Windows, и час может иметь начальный пробел (вместо нуля) между 1:00 и 9:59 AM.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .