Board logo

标题: 如何控制for循环, [打印本页]

作者: selboo     时间: 2009-6-7 22:52    标题: 如何控制for循环,

=================================
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 循环所生成文件
作者: 不得不爱     时间: 2009-6-7 23:04
就你那批处理就是for 循环完成以后也未必就把所有你需要的文件都生成出来,除非去掉start /b
作者: selboo     时间: 2009-6-7 23:13
可以生成的
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 ]
作者: 不得不爱     时间: 2009-6-8 00:26
下面应该是你想要的吧?
@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 ]
作者: selboo     时间: 2009-6-8 01:33
谢谢版主大人
检测ping.exe进程

我的邮箱 towcevd@163.com
以后你要是有什么问题,关于计算机的,帮你解决下,多一个人多一个机会