分享

[已解决]有什么更好的方法实现批处理的多线程

 _src_ 2020-10-22
想做个检查局域网都有哪些机器开着的批处理
先做了个这样的
@echo offfor /l %%a in (2,1,254) do (echo 192.168.0.%%aping 192.168.0.%%a /n 1 |find "TTL"&&(echo 192.168.0.%%a >>result.dat))goto :eof复制代码
发现速度太慢了

后来又改成这样的
@echo offfor /l %%a in (2,1,254) do (echo 192.168.0.%%aping 127.0.0.1 -n 1start /min cmd /c "ping 192.168.0.%%a /n 1 |find "TTL"&&(echo 192.168.0.%%a >>d:\result.txt)")goto :eof复制代码
使用多线程的   发现这样开的窗口太多了   加个 ping 127.0.0.1 -n 1是因为怕开的太快机器响应不过来
但还是觉得进程太多了   
有没有其他更好的办法实现这个功能
在网上找了下  没发现其他批处理的实现多线程的方法




再附加个问题:
批处理对双引号是怎么判断的,比如这句
start /min cmd /c "ping 192.168.0.%%a /n 1 |find "TTL"&&(echo 192.168.0.%%a >>d:\result.txt)"
这句可以正确把引号配对运行   但为什么程序就不会认为是前面一对引号,后面一对引号   为什么可以正确的认识是两对引号嵌套呢
start /min cmd /c "ping 192.168.0.%%a /n 1 |find "TTL"&&(echo 192.168.0.%%a >>d:\result.txt)"
start /min cmd /c "ping 192.168.0.%%a /n 1 |find "TTL"&&(echo 192.168.0.%%a >>d:\result.txt)"

[ 本帖最后由 stuqx 于 2009-6-26 16:31 编辑 ]

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多