批处理经验积累

来源:互联网 发布:柏柏尔人 知乎 编辑:程序博客网 时间:2024/06/05 14:57

1. 精确延时
工具 sleep.exe 来自微软Win 2003 Resource Kit Tools

2.倒计时

@echo offsetlocal enabledelayedexpansion&titleset 退格=for /l %%i in (5,-1,1) do (sleep 1set/p"=z          等待%%i秒"<nulset /p=%退格%<nul)

因为批处理还有特殊字符退格,如果直接复制代码不能使用请下载附件。
倒计时这个批处理,解决了set/p=  在win7下忽略空格的问题。解决思路
http://hi.baidu.com/lalafengche/blog/item/127b7389ca0190a90e244445.html

3.判断服务是否启动

@echo offfor /f "tokens=4" %%i in ('sc query esri_sde^|findstr /i "state.*:"') do (    if /i "%%i"=="stopped" (echo esri_sde 已经停止,5秒内启动;保持状态请直接关闭E:\MINE\工具文档\知识积累\DOS和批处理\倒计时.batNET START esri_sde    ) else (echo esri_sde 已经启动,5秒内停止;保持状态请直接关闭E:\MINE\工具文档\知识积累\DOS和批处理\倒计时.batNET stop esri_sde))pause

4.判断进程是否存在
@echo offtasklist|find /i "cmd.exe">nulif ERRORLEVEL 1 (start cmd.exe )  else ( echo  之前已经启动cmdsleep 3)



附件是sleep.exe和批处理 倒计时.bat的源代码。

点我下载附件