找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28063|回复: 7

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

[复制链接]
发表于 2011-9-27 01:08:51 | 显示全部楼层 |阅读模式
本帖最后由 小麦 于 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,大功告成!!

评分

参与人数 1PB +2 收起 理由
CrLf + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-9-27 08:53:23 | 显示全部楼层
传递参数 %1
发表于 2011-9-27 10:32:20 | 显示全部楼层
如果是在同一个批里,可以试试用call命令
 楼主| 发表于 2011-9-29 23:31:39 | 显示全部楼层
回复 3# 601997526


    可不可以具体讲一下 ?? 代码??
发表于 2011-9-29 23:48:49 | 显示全部楼层
本帖最后由 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
复制代码

评分

参与人数 1PB +5 收起 理由
CrLf + 5 乐于助人

查看全部评分

发表于 2011-9-30 09:08:13 | 显示全部楼层
回复 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技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-10-2 23:02:42 | 显示全部楼层
回复 6# 601997526


哦 谢谢  !
 楼主| 发表于 2011-10-2 23:44:51 | 显示全部楼层
回复 5# ArdentMan


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

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

评分

参与人数 1PB +3 收起 理由
CrLf + 3 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 03:08 , Processed in 0.022477 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表