Windows脚本
hongjunbj
这个作者很懒,什么都没留下…
展开
-
定时任务
schtasks /create /tn mytask /sc[hourly/minute/daily/monthly] /mo 3 /tr "d:\mytask.exe"/mo modifier指定任务在其计划类型内的运行频率。这个参数对于 MONTHLY计划是必需的。对于 MINUTE、HOURLY、DAILY或WEEKLY计划,这个参数有效,但也可选。默认值为 1。原创 2012-11-19 17:42:58 · 332 阅读 · 0 评论 -
注释可以用rem或者::
rem this line should be ignored:: this line should be ignored原创 2012-11-19 17:49:25 · 497 阅读 · 0 评论 -
函数的参数传递
传递给子函数的参数不能有逗号,等号,空格等,子函数将这些符号认为是参数分隔符,除非用引号括起来。 如果参数有空格,需要用引号括起来。参数传递给子函数时,不会自动脱掉引号,如果想去掉引号,用“~”。比如%1是“ab c”,那么%~1就是ab c原创 2012-11-19 17:50:12 · 298 阅读 · 0 评论 -
子函数的调用与返回,主函数获取返回值,函数工作路径
调用:call子函数 参数返回:exit/b 返回值返回值的获取:%errorlevel%改变工作路径使用pushd [path]恢复工作路径使用popd例如:@echo offcall :subfunc 100echo %errorlevel%:eof :subfuncsetlocal enabledelayedexpansionfor /L原创 2012-11-19 17:50:40 · 2901 阅读 · 0 评论 -
for中使用局部变量
需要使用语句:setlocalenabledelayedexpansion在for作用范围内引用变量时使用两个叹号,如:echo !a!,但是算术运算除外。setlocal enabledelayedexpansionfor /l %i in (1, 1, 100) do ( // 从1开始到100,步长为1set /a sum+=1echo !sum!)echo %原创 2012-11-19 17:51:08 · 517 阅读 · 0 评论 -
Widows下的命令行过滤
在linux下常常用grep来过滤,windows下可以用find来代替比如dir|find"dir"原创 2012-11-19 17:51:50 · 5374 阅读 · 0 评论 -
WindowsGUI程序的终端输出
启动一个终端cmd, 然后*.exe|more,通过管道用more输出printf、cout的信息原创 2012-11-19 17:52:13 · 536 阅读 · 0 评论 -
去除引号
1、for 循环中的变量%%i,%%~i2、参数%i,%~i3、变量中的引号,setstr=%str:”=%原创 2012-11-19 17:44:30 · 343 阅读 · 0 评论 -
去除重复行
1)效率比较差,大于一百个items慎用for /f %%i in (dump.txt) do ( findstr /i /R "\" dump2.txt > nul || echo%%i>>dump2.txt) 2)效率比第一种好。但是不适用于需要区分大小写的情况,因为IF DEFINED 不能区别大小写FOR /F %%I IN (dump.TXT) DO ( I原创 2012-11-20 10:58:22 · 297 阅读 · 0 评论 -
转义字符^
一些特殊字符,如‘(’、‘)’、需要转义字符‘^’才能输出比如echo^(1+2^)输出:(1+2)原创 2012-11-19 17:48:54 · 1147 阅读 · 0 评论 -
关系运算符
a && b if a is true then execute ba || b if a is false then execute ba & b b is executed no matter a is true orfalse原创 2012-11-19 17:48:16 · 252 阅读 · 0 评论 -
字符串的截取
%time%%time:~0,2% = %time:~,2% the first two letters%time:~-2% the last two letters%time:~0,-2% all except the last two letters原创 2012-11-19 17:47:38 · 216 阅读 · 0 评论 -
判断文件夹为空
dir %1 /b|find /v "0471391E">nul|| echo %1 is empty原创 2012-11-19 17:37:39 · 694 阅读 · 0 评论 -
等待一段时间
ping /n 5 127.1>nul原创 2012-11-19 17:40:55 · 327 阅读 · 0 评论 -
for的用法
for /F "eol=; tokens=2,3,5-7* delims=." %d in (fileName) do echo %i %j %k %l %m %neol表示要忽略的行以什么字符开头tokens表示取出第几个字符,如上表示取出第2、3、5到7以及7以后的所有字符。其中%i代表第2个字符,%j代表第3个字符,%k代表第5个字符,%l表示第6个, %m表示第7个,%n表示第8个原创 2012-11-20 10:27:55 · 267 阅读 · 0 评论 -
查找关键字的下一行
rem %1 关键字rem %2 查找的文件for /f "usebackq tokens=1 delims=:"%%i in (`findstr /N /R "\" %2`) do ( setskip=%%i && goto :end0):end0call :subfunc2 !skip! %2 exit /b :subfunc2for /f "skip原创 2012-11-19 17:30:27 · 767 阅读 · 0 评论 -
创建空文件
cd.>1.txt原创 2012-11-19 17:34:37 · 426 阅读 · 0 评论 -
统计文件行数(包括只有一个换行符的行)
findstr /n .* 1.txt|find /c ":"原创 2012-11-19 17:40:18 · 537 阅读 · 0 评论 -
查找正在运行的进程
tasklist|findstr "Lookup.exe"原创 2012-11-19 17:41:44 · 320 阅读 · 0 评论 -
字符串的替换
set str=nihao88nihaoecho %str:88=33% 结果为nihao33nihao这种方法不能替换'=',而且88、33不能是变量比如%var%!var!等,但可以是参数比如,%1,%2原创 2012-11-19 17:46:20 · 242 阅读 · 0 评论