bat获取日志文件|批处理bat获取文件夹内的最新文件的修改时间与当前系统时间进行对比

A. 批处理bat获取文件夹内的最新文件的修改时间,与当前系统时间进行对比

@echooff[email protected]=q&set/an=0x53b7e0b4titleAnyquestion+%@%%@%%n%cd/d"%~"set"logfolder=D:sk"set"exefile=D:est.exe"set"record=记录.txt"ifnotexist"%logfolder%"(echo;"%logfolder%"notfound&pause&exit)ifnotexist"%exefile%"(echo;"%exefile%"notfound&pause&exit)>"%tmp%.t"echo;WSH.echoDateDiff("n",CreateObject("Scripting.FileSystemObject").GetFile(WSH.Arguments(0)).DateLastModified,now)cd.>"%record%"for/f%%ain("%exefile%")doset"exename=%%~nxa":loopclsfor/f"delims="%%ain('dir/a-d/b/tw/o-d"%logfolder%*.log"')do(setfname=%%a&gotobreak):breakifnotdefinedfname(gotoend)echo;"%fname%"for/f%%ain('cscript-nologo-e:vbscript"%tmp%.t""%logfolder%\%fname%"')do(echo;[%%a]if%%ageq12(taskkill/f/im"%exename%"/tstart"""%exefile%">>"%record%"echo;restartat%date%%time%)):endecho;Anyquestion+%@%%@%%n%ifexist"%windir%System32imeout.exe"(timeout/t60/nobreak)else(>nulping/n600)gotoloop

B. Windows平台使用bat脚本导出日志

android平台测试过程中兄袜,经常要及时导出日志,对现场截图。导出了日志后,又要给日志重命名或羡拍激加一些问题描述,不然导出多了,容易忘记哪个对应哪个日志。

不妨使用下面的脚本。 说明:日志将保存到D盘根目录下

@echo off echo. echo —————- Android导出日志到本机 —————– echo. pause @adb devices | findstr “<device>” if ERRORLEVEL 1 goto NOCONNECTED adb root adb remount echo “是否需要截图(Y/N)” set /p choice= if “%choice%”==”y” ( echo. echo. adb shell screencap -p /sdcard/screencap.png ) echo. echo. set /p prob_time=请输入问题发生时间点: set /p desc=请输入问题简述: echo —————-切换到D盘 —————- D: set YYYYmmdd=%date: 0,4%%date: 5,2%%date:~8,2% set hhmiss=%time: 0,2%%time: 3,2%%time:~6,2% set “filename=%desc% %YYYYmmdd% %hhmiss%” echo. echo. echo —–创建日志目录Android_%YYYYmmdd% %hhmiss% %desc% Log—- ::创建文件夹 md “.Android %YYYYmmdd% %hhmiss% %desc% Log” cd “..Android %YYYYmmdd% %hhmiss% %desc% Log” echo. echo. ::写入问题描述 echo. >> 问题描述.txt echo. >> 问题描述.txt echo. >> 问题描述.txt echo 问题出现时间: >> 问题描述.txt echo %prob_time% >> 问题描述.txt echo. >> 问题描述.txt echo 问题现象描述: >> 问题描述.txt echo %desc% >> 问贺歼题描述.txt echo. echo. echo —————-导出日志文件 —————- echo. echo. echo —–导出log0到D:/Android %YYYYmmdd% %hhmiss% %desc% Log—- adb pull /data/Log/log0 echo. echo. echo —–导出log1到D:/Android %YYYYmmdd% %hhmiss% %desc%_Log—- adb pull /data/Log/log1

if “%choice%”==”y” ( echo. adb pull /sdcard/screencap.png adb shell rm /sdcard/screencap.png ren screencap.png “screencap_%desc%.png” ) echo. echo. echo —————-“Android日志到本机路径:D:/Android_%YYYYmmdd% %hhmiss% %desc%_Log” —————- echo. echo. set /p desc_details=请输入问题详细描述: echo. >> 问题描述.txt echo 问题现象详细描述: >> 问题描述.txt echo %desc_details% >> 问题描述.txt echo. echo. echo —————- Android日志导出到本机完成,按任意键退出 —————- echo. ::等待2秒后退出 ping 192.0.2.2 -n 1 -w 2000 > nul exit

:NOCONNECTED echo. echo ——- 设备未连接,请检查!——- echo. ping 192.0.2.2 -n 1 -w 2000 > nul exit

C. 如何让批处理产生日志文件

这要根据不同的要求来做了如果仅仅想记录批处理运行的开始简野饥和结束脊让时间:@echo offset ymd=%date:~0,4%%date:~5,2%%date:~8,2%set ymd_t=%ymd%_%time:~0,2%%time:~3,2%%time:~6,2%set ymd_t=%ymd_t: =0%echo 运行开始时间:%ymd_t%>>%ymd%_log.txt::批处理代码拦返::::::::::::::::::::::::批处理代码set ymd_t=%ymd%_%time:~0,2%%time:~3,2%%time:~6,2%set ymd_t=%ymd_t: =0%echo 运行结束时间:%ymd_t%>>%ymd%_log.txt如果要记录其他信息,应该根据批处理里面的命令及需要记录的内容来做一般用 echo xxxxxxxxxxx>>log.txt 来记录或者使用命令自己的记录log的功能


赞 (0)