Board logo

标题: [文件操作] 【已解决】在批处理中调用改变之后的批处理?怎么做? [打印本页]

作者: 小麦    时间: 2011-9-27 01:08     标题: 【已解决】在批处理中调用改变之后的批处理?怎么做?

本帖最后由 小麦 于 2011-10-2 23:33 编辑

一般在批处理中运行批处理用START **.BAT 就行了 但是如果只想在批处理中调用其中的一部分呢?而且这部分有变量。该怎么样才能调用已经改变的这部分?下面这段批处理不是我的目的:
  1. @ECHO OFF
  2. ECHO 输入要PING的IP
  3. SET /P A=
  4. PING %A%
  5. ECHO 输入要PING此IP的次数
  6. SET /P B=
  7. FOR /L %%I IN (1,1,%B%)DO  START 1.bat
复制代码
把上面这段代码保存为1.bat .打开后,输入IP,输入次数(比如2次) 恩,第一次很好;但第二次要求你重新输入IP。 而 我想再次调用此批处理中已输好的 PING %A% 而不要求重新输入要PING的IP  怎么能够做到?
  


                                                                                      以上是我的不懂之处。
                                                                 看了下面的帖子 指导 ,我发现,实现这个功能挺简单。  :
                                                                                 把其中的 PING %A%  去掉;
                                                                             把DO后面的  START 1.bat  改为 ping %A% 。
                                                                                         ok,大功告成!!
作者: CrLf    时间: 2011-9-27 08:53

传递参数 %1
作者: 601997526    时间: 2011-9-27 10:32

如果是在同一个批里,可以试试用call命令
作者: 小麦    时间: 2011-9-29 23:31

回复 3# 601997526


    可不可以具体讲一下 ?? 代码??
作者: ArdentMan    时间: 2011-9-29 23:48

本帖最后由 ArdentMan 于 2011-9-29 23:56 编辑
  1. @Echo Off
  2. If "%~1" NEQ "" Goto Next
  3. Set /P IP=请输入IP:
  4. Start %~fs0 %IP%&Exit
  5. :Next
  6. Set /P Num=请输入要拼的次数:
  7. Ping /n %Num% %1
  8. Pause>Nul&Exit
复制代码

作者: 601997526    时间: 2011-9-30 09:08

回复 4# 小麦


    如果LZ只是想让ping命令多工作一会,用/n就已经完全能实现了
但如果是想调用其中的一部分,用call可以这样写
  1. @ECHO OFF
  2. ECHO 输入要PING的IP
  3. SET /P A=
  4. ECHO 输入要PING此IP的次数
  5. SET /P B=
  6. FOR /L %%I IN (1,1,%B%)DO  call :ping
  7. :ping
  8. ping /n 1 %a%
复制代码

作者: 小麦    时间: 2011-10-2 23:02

回复 6# 601997526


哦 谢谢  !
作者: 小麦    时间: 2011-10-2 23:44

回复 5# ArdentMan


    直接这个 容易些:
@Echo Off
Set  /P Ip=要PING的ip是:
Set /P Num=请输入要拼的次数:
Ping /n %Num%  %Ip%
      

                 这个批处理,对我来说,很新鲜。因为我都不知道某些命令。比如"%~1"  NEQ   %~fs0 %  能详细讲一下用法吗?? 因为可能在别的功能中有用。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2