将每个命令的结果输出到单独的文件中

将每个命令的结果输出到单独的文件中

我有以下脚本,它可以逐个执行单独的步骤:

@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

我猜你现在已经明白了。对于其他可能有类似问题的人,这里有一个答案:

@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% 可能是 hh:mm:ss 或其他格式(例如,hh-mm-ss),可能带有秒的小数部分(小数点)— 因此可能需要进行调整。可能需要调整 %date% 的偏移量(10、4 和 7)以找到年、月和日。如果 %time% 包含冒号,则需要将其删除/替换为 Windows 文件名,并且小时在 1:00 到 9:59 AM 之间可能有一个前导空格(而不是零)。

相关内容