楼 主
如何控制for循环,
发表于 2009-06-07 22:52 · 中国 北京 联通
新手上路
★
积分 7 发帖 7 注册 2008-11-11 16:16 17年会员 UID 130661 性别 男
状态 离线
=================================
for /f "delims=" %%a in (data.txt) do (
start /b ping %%a -n 10 -l 32 > %%a.ping
start /b tracert -d %%a > %%a.tracert
)
2.bat
=================================
如何让上面的 for 循环完成以后在执行2.bat
2.bat是整理 for 循环所生成文件
第 2 楼
发表于 2009-06-07 23:04 · 中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310 发帖 2,044 注册 2005-09-26 12:00 20年会员 UID 42843 性别 男 来自 四川南充
状态 离线
就你那批处理就是for 循环完成以后也未必就把所有你需要的文件都生成出来,除非去掉start /b
第 3 楼
发表于 2009-06-07 23:13 · 中国 北京 联通
新手上路
★
积分 7 发帖 7 注册 2008-11-11 16:16 17年会员 UID 130661 性别 男
状态 离线
可以生成的
start /b 只是让所有的 data.txt里的ip
同时进行ping
2.bat
==================================================
for /f "delims=" %%a in (data.txt) do (
echo ===============%%a=============== >> loss.log
type %%a.ping |findstr Packets >> loss.log
type %%a.ping |findstr Minimum >> loss.log
)
==============================================
是把结果整理下,
我就可以直接把 1.bat 增加到计划任务里就行了,每1小时执行一次,最后只看loss.log结构就行了
2.bat 必须要等 上面的1.bat 执行完成以后才能提出出来
[ Last edited by selboo on 2009-6-7 at 23:14 ]
第 4 楼
发表于 2009-06-08 00:26 · 中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310 发帖 2,044 注册 2005-09-26 12:00 20年会员 UID 42843 性别 男 来自 四川南充
状态 离线
下面应该是你想要的吧?
@echo off
for /f "delims=" %%a in (data.txt) do (
start/b ping %%a -n 10 -l 32>%%a.ping
start/b tracert -d %%a>%%a.tracert
)
:a
set c=0
for /f %%a in ('tasklist^|findstr/i "ping.exe tracert.exe"') do set c=1
if %c%==1 goto a
2.bat
[
Last edited by 不得不爱 on 2009-6-8 at 00:27 ]
第 5 楼
发表于 2009-06-08 01:33 · 中国 北京 联通
新手上路
★
积分 7 发帖 7 注册 2008-11-11 16:16 17年会员 UID 130661 性别 男
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正