@echo off
title 同一月份下的耗时计算
::获取起始月份、起始日期、起始小时和起始分钟
set startmonth=%date:~5,2%
set startday=%date:~8,2%
set starthour=%time:~0,2%
set startmin=%time:~3,2%
echo&echo 修改系统日期和时间为未来同一个月份下的某日某月某时某分 以便测试脚本
echo 完成修改后 按任意键继续
pause >nul
::获取终止月份、终止日期、终止小时和终止分钟
set endmonth=%date:~5,2%
set endday=%date:~8,2%
set endhour=%time:~0,2%
set endmin=%time:~3,2%
::初始化间隔日期变量、间隔小时变量和间隔分钟变量
set intday=0
set inthour=0
set intmin=0
::初始化耗时变量
set inttime=0
::如果结束月份和起始月份不在同一月 则调用calc4标签
if %endmonth% NEQ %startmonth% (call:calc4 & goto :finalresult)
::如果结束日期等于起始日期 则调用calc1标签
if %endday% EQU %startday% (call:calc1 & goto :finalresult)
::如果结束日期大于起始日期 则调用calc2标签
if %endday% GTR %startday% (call:calc2 & goto :finalresult)
::如果结束日期小于起始日期 则调用calc3标签
if %endday% LSS %startday% (call:calc3 & goto :finalresult)
::备注:没有规避同一天内结束小时小于起始小时、以及同一小时内结束分钟小于起始分钟的情况,因为在脚本运行过程中,逻辑上一般不会出现这两种情况。
::显示耗时
:finalresult
echo 耗时:%inttime%
exit /b
::同一天内的耗时计算 需考虑到结束分钟小于起始分钟的时候 从终止小时借位的情况
:calc1
if /i %endmin% LSS %startmin% (set /a intmin=endmin+60-startmin & set /a endhour-=1) else (set /a intmin=endmin-startmin)
set /a inthour=endhour-starthour
set /a intday=endday-startday
set inttime=%intday%天%inthour%小时%intmin%分钟
goto :eof
::同一月份但不同天内的耗时计算 需考虑到结束分钟小于起始分钟的时候 从终止小时借位的情况 需考虑到结束小时小于起始小时的时候 从终止日期借位的情况
:calc2
if /i %endmin% LSS %startmin% (set /a intmin=endmin+60-startmin & set /a endhour-=1) else (set /a intmin=endmin-startmin)
if /i %endhour% LSS %starthour% (set /a inthour=endhour+24-starthour & set /a endday-=1) else (set /a inthour=endhour-starthour)
set /a intday=endday-startday
set inttime=%intday%天%inthour%小时%intmin%分钟
goto :eof
::同一月份下 结束日期逻辑上不能小于起始日期 抛出错误
:calc3
set inttime=错误!结束日期小于起始日期!
goto :eof
::跨月份的情况忽略不计
:calc4
set inttime=跨月份忽略耗时计算
goto :eof
1、在需要批量处理文件的文件夹中右击选择新建一个TXT文本文档。
2、在新建的文本文档中输入一下批量处理文件的bat代码,并点击页面上的保存选项将该段代码保存到对应的文件夹中。
3、右击刚刚保存的TXT文件,选择更改文件名选项,将文件格式改为BAT可运行文件格式。
4、更改完成后双击该可执行文件就可以批量显示当前路径中文件的时间信息。
新建一个Excel文件,将原文件名、修改后文件名按照中格式,输入到表中。(行数不限)
新建一个txt文件,将表格内容复制到txt文件中。
将新建的txt文件另存为“重命名bat”
将bat文件与需要重命名的文件放在同一文件夹下面,然后双击“重命名bat”
以下代码复制粘贴到记事本,另存为xxbat,编码选ANSI,并以管理员身份运行/&cls&echo off
rem 获取网络时间对本地电脑进行时间同步
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
for /f "tokens=1" %%a in ('cscript -nologo -e:jscript "%~f0"') do (
echo;%%a %%b
date %%a
time %%b
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
/
function add(z){return Number(z)<10'0'+z:z;}
var req=null, now=null;
var mx=['MSXML2ServerXML>
@echo off
set/p a=请将文件夹拉入本窗口内:
for %%a in (%a%) do (
set b=%%~na
set c=%%~ta
set d=%%~za
set e=%%~dpa
)
cls
echo 文件夹名: %b%
echo 修改时间: %c%
echo 文件夹大小: %d%
echo 文件夹路径: %e%
pause>nul
:: 中国批处理脚本联盟
1、新建一个txt文件
2、在里输入内容
@date
2008-04-30
//上面是你要修改回来的日期
@time
15:25
//上面是你要修改回来的时间
3、另存成后缀为bat或cmd文件
以上就是关于bat读取时间、计算时间间隔脚本全部的内容,包括:bat读取时间、计算时间间隔脚本、怎么用批处理文件显示日期和时间谢谢!、bat 获得当前时间然后重命名一个文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)