标题: [文件操作] [已解决]怎么样才能在一个新cmd窗口中调用另一批处理中的某段代码? [打印本页]
作者: 小麦 时间: 2011-10-4 03:41 标题: [已解决]怎么样才能在一个新cmd窗口中调用另一批处理中的某段代码?
一般在批处理中运行别的批处理用START **.BAT 就行了 但是如果只想在批处理中调用另一批处理中的一部分呢?而且这部分有变量。该怎么样才能调用已经赋值之后的这部分?下面这段批处理没有达到我的目的- @ECHO OFF
- ECHO 输入要PING的IP
- SET /P A=
- PING %A%
- ECHO 输入要PING此IP打开的窗口数
- SET /P B=
- FOR /L %%I IN (1,1,%B%)DO START 1.bat
复制代码
复制代码把上面这段代码保存为1.bat .打开后,输入IP,输入打开的窗口数(比如2次) 恩,第一次很好;但第二个窗口要求你重新输入IP。 而 我想再次调用此批处理中已输好的 赋值好的PING %A% 而不要求重新输入要PING的IP 怎么能够做到?
可能有的人会觉得这张贴眼熟 ,是的 ,我发过类似的帖子,已经解决了 :http://www.bathome.net/thread-14157-1-1.html 就这张贴 。但是仔细对比,你会发现我把其中的“次数”改为了“窗口数” 。 看清楚咯!这个问题又怎么解决???
还有一个前提, 那就是打开的窗口之间的时间几乎要同时, 不能一个ping完 接着第二个, 第二个ping完 ~~第三个~~~···要几乎同时哦!
作者: 545810831 时间: 2011-10-4 06:59
各位要小心了,很容易陷入死循环的
作者: 545810831 时间: 2011-10-4 12:41
- @ECHO OFF&setlocal enabledelayedexpansion
- set c=%a%%b%
- if defined c goto sta
- ECHO 输入要PING的IP
- SET /P A=
- ECHO 输入要PING此IP打开的窗口数
- SET /P B=
- :sta
- if !m! equ !B! exit
- PING %A%
- set /a m+=1
- START 1.bat
- pause
复制代码
作者: 小麦 时间: 2011-10-4 21:07
本帖最后由 小麦 于 2011-10-4 22:54 编辑
回复 2# 545810831
对 我试了几次 都这样 ++||
你的这个批处理虽然能够出现ping的窗口数 能不能够同时出现 而不是 一个接一个??
作者: bluewing009 时间: 2011-10-4 21:16
请参考一下“参数传递”关于传递参数有很多方法,比如%123,临时文件,注册表等等。推荐第一种。
作者: 545810831 时间: 2011-10-4 23:41
回复 4# 小麦
在我的 xp3 系统测试是正常的,没有出现 ++|| 现象
作者: weichenxiehou 时间: 2011-10-5 10:20
- @ECHO OFF
- if not "%1"=="" goto next
- ECHO 输入要PING的IP
- SET /P A=
- ECHO 输入要PING此IP打开的窗口数
- SET /P B=
- for /l %%i in (1 1 %b%) do start "" "%0" %a%
- exit
- :next
- ping %1
- pause>nul
复制代码
作者: 小麦 时间: 2011-10-5 20:18
回复 6# 545810831
+++|||我说我的代码出现了这个状况。
你的没有。
但你的是一个窗口ping完 ,再接着另一个窗口。
我问:能不能同时出现?或者出现的时间差只有一或零点几秒。?
作者: 小麦 时间: 2011-10-5 20:33
回复 7# weichenxiehou
我试了 好几次 ,都不能运行。
每次提示“系统找不到指定文件” ..... ......
作者: weichenxiehou 时间: 2011-10-6 09:07
回复 9# 小麦
我怎么运行没有问题呢?输入完ip和窗口数,回车后就出现相应个窗口同时在ping。。。
作者: hankerer 时间: 2011-10-6 09:42
- @echo off
- set /p a=请输入IP:
- set /p b=窗口数:
-
- echo @echo off>temp.bat
- echo ping %a%>>temp.bat
-
- for /l %%i in (1 1 %b%) do start temp.bat
-
- pause
-
- del temp.bat /q
复制代码
简单一点用个临时文件嘛。
作者: 小麦 时间: 2011-10-7 00:11
回复 11# hankerer
给了我一个新的思考方式 谢谢~~!
作者: 小麦 时间: 2011-10-7 00:14
回复 10# weichenxiehou
你肯定哪里弄错了~~我又试了一次,还是不行。
你检查一下 ,确定没错吗??
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |