[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 【已解决】在批处理中调用改变之后的批处理?怎么做?

本帖最后由 小麦 于 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,大功告成!!
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2

传递参数 %1

TOP

如果是在同一个批里,可以试试用call命令

TOP

回复 3# 601997526


    可不可以具体讲一下 ?? 代码??

TOP

本帖最后由 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
复制代码
1

评分人数

    • CrLf: 乐于助人PB + 5
一路飘过的鸟~~~

TOP

回复 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%
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1

TOP

回复 6# 601997526


哦 谢谢  !

TOP

回复 5# ArdentMan


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

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

评分人数

    • CrLf: 乐于助人PB + 3

TOP

返回列表