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

[其他] 判断文件是否存在的批处理错在哪里?

我是新手 做了个练习 但无法执行 帮忙看看啦 错在哪
@echo off
if exist d:\zz (
echo 文件存在,是否打开?
set /p var="y是 n否"
if %var%==y start d:\zz&exit
echo 再见
pause&exit
)else(
echo 文件不存在,是否创建?
set /p var="y是 n否"
if %var%==y md d:\zz&goto next
echo 再见
pause&exit
:next
echo 文件已创建,是否打开?
set /p var="y是 n否"
if %var%==y start d:\zz&exit
echo 再见
pause
)
谢谢啦
生活就如巧克力一般,你永远不知道下一块是什么(味道)

goto :
要用啊
   不然就出错了!

TOP

啊 不明白啊 能不能说的详细点啊
生活就如巧克力一般,你永远不知道下一块是什么(味道)

TOP

除非是goto :eof,在别的地方goto 标签前不用加:吧。
你的出错应该是没有开启变量延迟。
  1. @echo off&setlocal enabledelayedexpansion
  2. if exist d:\zz (
  3. echo 文件存在,是否打开?
  4. set /p var="y是 n否"
  5. if !var!==y start d:\zz&exit
  6. echo 再见
  7. pause&exit
  8. ) else (
  9. ...
  10. ...
复制代码
其他同是,if里面的%var%改为!var!

)else(    改为) else (
变量延迟:http://www.cn-dos.net/forum/viewthread.php?tid=20733

[ 本帖最后由 pusofalse 于 2008-8-18 16:52 编辑 ]
心绪平和,眼藏静谧。

TOP

主要是那个 “ )else(  ”要加空格  “ ) else (    ”
谢谢啦
生活就如巧克力一般,你永远不知道下一块是什么(味道)

TOP

回复 4楼 的帖子

根据前人的讨论结果,goto后面的标签最好加:
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 6楼 的帖子

原来如此。BATMAN兄以前告诉过我goto后面的标签不要加:,所以之后我才没加的。
心绪平和,眼藏静谧。

TOP

返回列表