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

[文本处理] 请教跳转命令问题!

引用:

@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

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

[ 本帖最后由 qq641255849 于 2008-10-24 20:27 编辑 ]

TOP

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

不知道你是否能理解?

TOP

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

TOP

返回列表