2016-09-19 3 views
-1

У меня есть командный файл, и я хотел бы знать, сколько времени потребовалось для запуска, а затем вывести результаты файла журнала в формате .csv. Желаемый результат будет выглядеть примерно так:Запишите время начала и конца команды и сохраните их в CSV-файле

Batch,Date,StartTime,EndTime 
    AM,Sun 09/18/2016,07:00:00,07:53:42 
    PM,Sun 09/18/2016,19:00:00,19:51:54 
    AM,Mon 09/19/2016,07:01:22,07:56:54 

Столбец «Batch» является просто ли запустить сценарий утром или ночью. с результатом либо «AM», либо «PM». Я не знаю, как сделать условное «если». Но я думал, что-то вроде:

set startdate = %date% 
    set starttime = %time% 

    Don't know how to do if/then/else so in words: 
    if starttime is less than 12:00:00, then set batch="AM". Else set batch ="PM" 

Тогда в конце моего файла я бы поставил:

echo %batch%,%startdate%,%starttime%,%time% >> C:\backup_time.csv 
+5

Пожалуйста, отредактируйте ваше название вопроса, чтобы описать проблему, о которой вы говорите, или вопрос, который вы задаете. Весь заголовок не содержит информации, которая не может быть почерпнута из добавленных вами тегов, что не имеет никакого значения. Ваш заголовок должен быть достаточно ясным, чтобы иметь смысл для будущих читателей, которые видят его в результатах поиска. –

+0

Извините. Новое в этом. Я думал, что сделал это. Что бы вы предложили в качестве моего титула? Какие теги? –

+0

Ваши * теги * в порядке. Ваше название просто повторило их, а это не так. Похоже, что @SomethingDark уже выполнил редактирование для вас. –

ответ

0

Во-первых, есть следующая ошибка в коде:

rem   ↓ ↓  harmful spaces 
set startdate = %date% 
set starttime = %time% 
rem   ↑ ↑  harmful spaces 

Следующий фрагмент кода должен работать должным образом:

set "startdate=%date%" 
set "starttime=%time%" 
set "_aux=%starttime:~0,2%"   extract hours from time 
set "_aux=%_aux: =0%"    change possible leading space to zero if necessary 
    rem treat properly values 08 and 09 using modulo operator in next `SET /A` command 
set /A "_aux=1%_aux% %% 100" 
if %_aux% LSS 12 (set "batch=AM") else set "batch=PM" 
>>C:\backup_time.csv echo %batch%,%startdate%,%starttime%,%time% 

Ресурсы (обязательное чтение, неполное):

+0

Это прекрасно. Спасибо огромное! –