我正在编写一个批处理来捕获目录中任何文件的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 :(得分: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
)