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

[文件操作] 批处理goto命令不会直接跳转?

[复制链接]
发表于 2011-3-6 17:23:50 | 显示全部楼层 |阅读模式
以下代码为什么会跳转到:1之前还好运行 start "" /b %0 1???
  1. @echo off
  2. if "%1"=="1" goto :%1

  3. start "" /b %0 1
  4. ping -t 127.1

  5. :1
  6. pause >nul
  7. exit
复制代码
发表于 2011-3-6 21:08:02 | 显示全部楼层
如果是标准环境下双击运行的bat,%1的值是空的,自然不满足跳转条件
 楼主| 发表于 2011-3-6 22:31:16 | 显示全部楼层
但start的语句没有完全运行完,又会跳转回if 语句???

  1. C:\Documents and Settings\Administrator\桌面>if "" == "1" goto :
  2. C:\Documents and Settings\Administrator\桌面>start "" /b "C:\Documents and Setti
  3. ngs\Administrator\桌面\新建 文本文档.bat" 1
  4. C:\Documents and Settings\Administrator\桌面>ping -t 127.1
  5. C:\Documents and Settings\Administrator\桌面>if "1" == "1" goto :1
  6. C:\Documents and Settings\Administrator\桌面>pause  1>nul
  7. Pinging 127.0.0.1 with 32 bytes of data:
  8. Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
  9. Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
复制代码

[ 本帖最后由 qwe777 于 2011-3-6 22:37 编辑 ]
发表于 2011-3-6 23:07:20 | 显示全部楼层
  1. if "%1"=="1" goto :%1

  2. start "" /b %0 1
  3. echo I am first pause
  4. pause

  5. :1
  6. echo I am second pause
  7. pause
复制代码
  1. if "%1"=="1" goto :%1

  2. call %0 1
  3. echo I am first pause
  4. pause

  5. :1
  6. echo I am second pause
  7. pause
复制代码
发表于 2011-3-6 23:09:22 | 显示全部楼层
运行的时候实际执行的是:
  1. @echo off
  2. if ""=="1" goto :
  3. start "" /b %0 1
  4. ping -t 127.1
  5. if "1"=="1" goto :1
  6. start "" /b %0 1
  7. pause >nul
  8. exit
  9. pause >nul
  10. exit
复制代码
 楼主| 发表于 2011-3-7 00:00:22 | 显示全部楼层
if的语句不是运行完了吗,为什么还会运行第二遍。
还有"%1"第一次是为空,而第二次却是为1/???
小弟比较笨,请问有哪位高手能详细都解一下啊???

  1. if "%1"=="1" goto :%1

  2. start "" /b %0 1
  3. echo I am first pause
  4. pause

  5. :1
  6. echo I am second pause
  7. pause
复制代码
发表于 2011-3-7 01:06:39 | 显示全部楼层
你把 start /b  ,/B 开关去掉。
然后仔细看一下运行过程。
 楼主| 发表于 2011-3-7 18:18:59 | 显示全部楼层
为什么"%1"第一次是为空,而第二次却是为1/???
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-16 21:44 , Processed in 0.025321 second(s), 11 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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