Pl配置报告如下

时间:2015-04-28 12:20:26

标签: batch-file

我有一个批处理过程,批次每天运行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

1 个答案:

答案 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