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

TOP

显示input不是命令···

TOP

这是越来越深入了。。

TOP

回复 41# Fantasys


    GOTO 只跳出去,绝不回头,是所谓浪子游侠。
    CALL 跳出去了,还跳回来,是所谓已婚人士。跳回来用goto :eof,这个是它老婆。并且,CALL动作慢些,但可以调用参数。
    比较:

  1. @echo off
  2. for /l %%a in (1,1,10) do goto end
  3. pause&cls
  4. for /l %%a in (1,1,10) do call :end 你知道我在等你妈妈?
  5. pause&exit
  6. :end
  7. echo;OVER %1
  8. pause
  9. goto :eof
复制代码
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

上一篇明明是if嘛,楼主。
http://www.bathome.net/thread-2530-1-1.html
http://www.bathome.net/s/tool/index.html

TOP

如果输入的字母既不是A也不是B,而是其它字母时如何推出

TOP

我想知道在FOR循环里加入GOTO语句跳出来执行一个标签,然后它还会不会再跑回去?
如果跳回去,是继续运行当次循环下的其它语句还是不再运行当次循环的语句而运行下一轮循环?

TOP

本帖最后由 cjiabing 于 2011-10-7 21:21 编辑

回复 37# hiyaya1212


    理解错误:
@echo off
这个是不显示回显的。
pause
这个是暂停
exit
这个是退出
自己去查查说明和英文。
另外,如何判断没有的标签,或者跳转错误:
  1. @echo off
  2. :start
  3. cls
  4. echo Yes
  5. echo No
  6. set /p var=输入以上:
  7. if %var%==Yes goto Y
  8. if %var%==No goto Y
  9. echo 输入错误,返回重试!
  10. pause
  11. goto start
  12. :Y
  13. echo 回答正确
  14. pause
  15. exit
  16. :N
  17. echo 回答错误
  18. pause
  19. exit
复制代码

输入标签是不正确的说法,因为批处理运行中,输入的是命令和字符,标签是代码,不必输入。
如果你真的想看你输入的标签是否存在,可以这样
  1. @echo off
  2. set /p str=输入标签查询,如【:start】:
  3. findstr /i /b "%str%" %0&&echo,&echo 查询成功!
  4. pause
复制代码

有必要的话可以添加参数  /x
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

namejm 真辛苦,又在写代码,哎

TOP

理解了,为什么当时自己在写一个BAT文件时会遇到总是显示全部信息了,没有加PAUSE    EXIT
新手就是新手啊,呵呵

TOP

4、若有同名的标签段,将执行位于最顶层的标签段,其后的标签段是否得到执行,将视具体的情况加以处理。
  1. @echo off
  2. if 1==1 goto hello
  3. exit
  4. :hello
  5. echo hello1
  6. pause
  7. exit
  8. :hello
  9. echo hello2
  10. pause
  11. exit
复制代码
结果只显示了hello1,说明第二个hello标签没有执行。

TOP

嗯,终于有个能看懂的了,谢谢楼主

TOP

goto :eof 是跳转到最后语句的话
有没有命令可以转到开始
比如输入A或B或C
:C标签内容要跳转到开始的命令
怎么完成 用什么命令呢?

TOP

前面的例子,若是输入的不是A也不是B,程序还是会执行标签A和B.

TOP

关于GOTO标签太多是时候怎么判断

仔细想了一下如果GOTO标记太多的情况下我们输入错误;怎样去做判断然后弹出提示您输入的标签不存在请核对后在输入

TOP

返回列表