DIR命令无法获得精确到秒的问题 方法一,dir命令只能到分钟,如果需要到秒,建议改用forfiles命令 REM “delims=” is required to avoid stripping AM/PM for /f “delims=” %%i in (‘”forfiles /p C:\Users\limc /m *.bat /c “cmd /c echo @fdate @ftime” “‘) do set modif_time=%%i echo %modif_time% 参考 https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc753551(v=ws.11)?redirectedfrom=MSDN 方法二,用VBS的FileSystemObject方式解决 @set @n=0/*&echo off dir /a-d/s/b|Cscript -nologo -e:jscript “%~f0” > 1.txt pause&exit /b */ var fso=new ActiveXObject(‘scripting.FileSystemObject’); while(!WSH.StdIn.AtEndOfStream) { file=fso.GetFile(WSH.StdIn.ReadLine()); t=new …
Tag Archives: batch
windows计划任务指定时间段执行程序
一个简单的需求,windows服务器设置计划任务,在需要在指定时间段9点到15点执行特定的程序。 但是windows的计划任务不像corntab那样支持设定指定时间区间,只可以设置每小时启动一次。 方法1.启动Bootstrap程序,根据当前时间决定是否继续执行任务 获取当前时间的字符串 SET curr_time=%TIME:~0,-5% SET curr_time_str=%curr_time::=% 获取时间后,逻辑判断是否goto执行相应的代码 完整的代码 @echo off ECHO “Time Schedule Bootstrap” SET curr_time=%TIME:~0,-5% SET curr_time_str=%curr_time::=% IF %curr_time_str% leq 0900 (GOTO time_cancel) ELSE ( IF %curr_time_str% leq 1500 (GOTO time_exec) ELSE ( GOTO time_cancel ) ) exit 0 :time_exec ECHO “Call CMD.exe” CMD.exe exit 0 :time_cancel ECHO “Canceled” exit 10 方法2.设置每天启动一次在指定的小时,需要设置多次,此处跳过
[BATCH]批处理中enabledelayedexpansion启动变量延迟
一个简单的需求,批量定义变量并运算赋值,再对获取变量计算的结果值 方法: 1.使用SET /A 方式暂存表达式的中间计算结果 2.使用setlocal enabledelayedexpansion 避免解释器在循环体中实时展开变量 3.使用&合并表达式为1行 启用setlocal enabledelayedexpansion。启动变量延迟 @echo on set var4=”test” for /l %%i in (1,1,3) do set var%%i=%%i echo %var1% echo %var2% echo %var3% echo %var4% setlocal enabledelayedexpansion for /l %%j in (1,1,3) do ( set /a t= var%%j & echo !t! ) for /l %%j in (1,1,3) do ( …
Windows下实现Deamon守护脚本
最近需要在Windows服务器上保持程序长期允许,因为程序比较老,无法用srvany.exe 改写成windows服务,只能自己手动编写守护脚本实现,网上找了短比较靠谱的守护脚本,在此mark一下。支持监视进程、端口。 守护脚本定义部分 @echo off ::检测时间间隔,单位:秒 set _interval=5 ::需要守护的进程名称 set _processName=ProcessName ::需要守护的进程启动命令 set _processCmd=C:\xxxx.exe ::需要守护的进程预估启动完毕所需时间,单位:秒 set _processTimeout=10 ::需要守护的进程所监听的端口 set _port=8080 ::进程用户名,一般是Administrator set _username=Administrator
[Android]使用Emma进行单体测试代码覆盖率分析
使用Eclipse或Google的ADT Bundle集成开发环境进行android单体测试时,受开发工具的局限,目前暂时无法直接使用常规的插件(例如:eclemma,Clover Eclipse Plugin等)来获取单体测试代码覆盖率。一般来说使用以下方法来实现代码覆盖率的查看。 方法1:改变测试代码继承父类为TestCase而非AndroidTestCase。这种方法只能解决不依赖于Android SDK源代码的单体测试。 方法2:使用Android SDK中集成的Emma功能,使用ant进行命令行编译与单体测试。通过以下脚本实现。 这里假设Eclipse的项目名称为MyProject,文件路径如下 ./ #项目主目录 ./src #APP项目主目录 ./test #APP测试项目主目录