Board logo

标题: [文本处理] 请教跳转命令问题! [打印本页]

作者: jellyhk    时间: 2008-10-24 19:39     标题: 请教跳转命令问题!

引用:

@echo off
echo i love bathome.net
if exist 1.txt goto b
if not exist 1.txt goto a

:a
>1.txt echo 1
goto :eof
:b
set /p i=<1.txt&&>2.txt echo 1&&set /p o=<2.txt
set /a a=%i%+%o%
echo %a% >1.txt
type 1.txt&del 2.txt
pause
goto :eof
pause


引用:

echo i love bathome.net

:a
>1.txt echo 1
goto :eof
:b
set /p i=<1.txt&&>2.txt echo 1&&set /p o=<2.txt
set /a a=%i%+%o%
echo %a% >1.txt
type 1.txt&del 2.txt
pause
goto :eof
if exist 1.txt goto b
if not exist 1.txt goto a

pause

第一段代码能正常运行但第2段不行!
为什么!
蓝色的地方换了个位子就不能在1.txt文件里递加了!里面的内容一直是1
难道是运行了
:a标签后的 ?不过:a标签为什么可以运行?不是我用代码限制了吗?
if not exist 1.txt goto a

作者: qq641255849    时间: 2008-10-24 19:44

  1. if exist 1.txt (goto :b) else (goto :a)
复制代码
这样可不行

[ 本帖最后由 qq641255849 于 2008-10-24 20:27 编辑 ]
作者: jsj30651    时间: 2008-10-24 20:08

当然不能运行啦, :a只是标签的作用,每次运行批处理都会从头开始运行,即使你这次运行后修改过1.txt的内容,但是由于开头是
  1. :a
  2. >1.txt echo 1
复制代码
所以每次运行批处理1.txt都会被重置成“1”

不知道你是否能理解?
作者: qq641255849    时间: 2008-10-24 20:27

o,脱离LZ的批了
很好很好.




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