当前位置: 首页 > 图文教程 > 脚本技术 > DOS/BAT > 批处理程序中的“多线程”处理代码

DOS/BAT
在远程计算机的CMD内下载FTP文件的方法
推荐一篇批处理最完整人性化教程
用批处理实现auto.exe的免疫功能
[原创]服务器应用自动重新启动IIS批处理
命令行实现MAC与IP地址绑定 ip mac绑定 如何绑定mac地址
diskcopy 命令使用说明
arp病毒 防止arp病毒的批处理
del rd命令行下删除文件不需要确认
dos下用recover修复损坏的TXT文件
批处理设置windows服务器的代码ThecSafe1.9.4
[原创]服务器常用批处理代码
利用mshta调用运行js或vbs的
DOS命令 Interlnk、Intersvr命令使用说明
dos shutdown 关机命令
systeminfo 系统命令快速查看你的系统几岁了
批处理删除空文件夹
BAT加密工具 EncryBat 非编译型bat批处理加密方案与代码
SendTo增强版 批处理实用小工具
DNS批量溢出批处理代码
修改系统用户名的批处理代码

DOS/BAT 中的 批处理程序中的“多线程”处理代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-11   浏览: 227 ::
收藏到网摘: n/a

大家都知道,批处理中运行的都是一步步单进程执行, 但如果进程执行比较慢,如PING一个不通的IP地址,那就会大大影响批处理程序的执行效率。
  如下内容将简单举例,在WINDOWS下使用批处理做多进程并发,以达到“多线程”的效果。
  例:需要PING 192.168.0.1到192.168.0.254的所有IP地址,并将是否能PING通的结果输出到log.txt
  实现如下:
rem 主程序.bat,只需一行代码,调用checkip.bat,经测试,CPU2.6G MEM1G可并发40个左右的进程
for /l %%i in (1,1,254) do (start /min cmd /c checkip.bat 192.168.0.%%i)

rem checkip.bat内容如下:
ping %1 -n 1
if %errorlevel%==0 (echo %1 alive>>log.txt) else (echo %1 dead>>log.txt)