我有一个批处理过程,批次每天运行5到6次。现在我的要求是生成一个报告,其中显示所有批处理开始和停止时间。当批次启动时,它会在停止时基于值1和0(零)进行基因传递,如下所示:
Time Value
7:00 0
7:15 0
7:30 1
7:45 1
8:00 1
8:15 1
8:30 0
8:45 0
9:00 1
9:15 1
9:30 1
9:45 1
10:00 0
10:15 0
10:30 1
10:45 1
11:00 0
报告将是这样的:
Date ..................
St Time Sp Time
BATCH ONE
BATCH TWO
BATCH THREE
BATCH FOUR
答案 0 :(得分:0)
这很有趣。您显示了输入数据,但您没有显示数据必须如何出现在输出报告中!这意味着报告中的任何格式都有效,对吗?
@echo off
setlocal EnableDelayedExpansion
set /A start=0, end=0
for /F "skip=1 tokens=1,2" %%a in (test.txt) do (
if %%b equ 1 (
set /A start+=1
set "BATCH[!start!]= %%a"
) else if !start! gtr !end! (
set /A end+=1
for %%e in (!end!) do set "BATCH[%%e]=!BATCH[%%e]! %%a"
)
)
echo St Time Sp Time
set BATCH
输出示例:
St Time Sp Time
BATCH[10]= 10:45
BATCH[1]= 7:30 8:30
BATCH[2]= 7:45 8:45
BATCH[3]= 8:00 10:00
BATCH[4]= 8:15 10:15
BATCH[5]= 9:00 11:00
BATCH[6]= 9:15
BATCH[7]= 9:30
BATCH[8]= 9:45
BATCH[9]= 10:30