2015-04-03 2 views
0

Я пишу пакет для захвата HH: MM: SS любых файлов в каталоге. Я не уверен, что использовать, чтобы фиксировать минуты и секунды соответственно из-за того, что часы не всегда были двузначными.Захват переменных (переменных) до: с вывода

IE: 4:15:10 PM

так, насколько я понимаю, я не могу использовать переменные подстроки, чтобы захватить эту информацию. Есть ли способ захватить данные перед: внутри переменной? Мне нужно определить, есть ли файл более 10 минут, используя только пакет (без powershell, несмотря на то, насколько хорошо он будет использоваться).

Вот что у меня есть.

cd c:\users\jthompson\desktop\test 
    forfiles /m *.txt /c "cmd /c echo @ftime") 
    pause 
    for /f %%a in ('forfiles /m *.txt /c "cmd /c echo @ftime"') do call c:\users\jthompson\desktop\test2.bat %%a 
    pause 

второй сценарий

echo %1 
    set var=%1 
    set minutes=%var:~3,2% 
    set seconds=%var:~6,2% 

ответ

0

forfiles дает мне формат 08:25:00 (с лидирующим нулем; 24 часов на базе). Если ваш нет, просто замените пространство нулем. Также есть лучший способ получить подстроки.

set var=%1 
echo time is: %var% 
set var=%var: =0" 
echo time is: %var% - space replaced with zero 
REM tokenize the timestring: 
for /f "tokens=1-3 delims=: " %%a in ("%var%") do (
    set hours=%%a 
    set minutes=%%b 
    set seconds=%%c 
) 
Смежные вопросы