Archive

Posts Tagged ‘batch’

[BATCH]批处理中enabledelayedexpansion启动变量延迟

January 19th, 2020 No comments

一个简单的需求,批量定义变量并运算赋值,再对获取变量计算的结果值

方法:
1.使用SET /A 方式暂存表达式的中间计算结果
2.使用setlocal enabledelayedexpansion 避免解释器在循环体中实时展开变量
3.使用&合并表达式为1行
启用setlocal enabledelayedexpansion。启动变量延迟

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@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 (
set /a t= var%%j 
echo !t!
)
endlocal

pause
输出
1
2
3
4

关闭enabledelayedexpansion
输出
4
4
4
4

关于setlocal和enabledelayedexpansion
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc772046(v=ws.11)?redirectedfrom=MSDN

Categories: 系统管理 Tags: ,

Windows下实现Deamon守护脚本

June 28th, 2016 No comments

最近需要在Windows服务器上保持程序长期允许,因为程序比较老,无法用srvany.exe 改写成windows服务,只能自己手动编写守护脚本实现,网上找了短比较靠谱的守护脚本,在此mark一下。支持监视进程、端口。

守护脚本定义部分

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
 
::检测时间间隔,单位:秒
set _interval=5
 
::需要守护的进程名称
set _processName=ProcessName
 
::需要守护的进程启动命令
set _processCmd=C:\xxxx.exe
 
::需要守护的进程预估启动完毕所需时间,单位:秒
set _processTimeout=10
 
::需要守护的进程所监听的端口
set _port=8080
 
::进程用户名,一般是Administrator
set _username=Administrator

Read more…

Categories: 零敲碎打 Tags: , ,

[Android]使用Emma进行单体测试代码覆盖率分析

April 16th, 2014 3 comments

使用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测试项目主目录

Read more…

Categories: 语言编程 Tags: , , ,