标题: [其他] 判断文件是否存在的批处理错在哪里? [打印本页]
作者: 新硕 时间: 2008-8-18 15:52 标题: 判断文件是否存在的批处理错在哪里?
我是新手 做了个练习 但无法执行 帮忙看看啦 错在哪
@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
)
谢谢啦
作者: wangwei4106 时间: 2008-8-18 15:58
goto :
要用啊
不然就出错了!
作者: 新硕 时间: 2008-8-18 16:00
啊 不明白啊 能不能说的详细点啊
作者: pusofalse 时间: 2008-8-18 16:45
除非是goto :eof,在别的地方goto 标签前不用加:吧。
你的出错应该是没有开启变量延迟。- @echo off&setlocal enabledelayedexpansion
- if exist d:\zz (
- echo 文件存在,是否打开?
- set /p var="y是 n否"
- if !var!==y start d:\zz&exit
- echo 再见
- pause&exit
- ) else (
- ...
- ...
复制代码
其他同是,if里面的%var%改为!var!
)else( 改为) else (
变量延迟:http://www.cn-dos.net/forum/viewthread.php?tid=20733
[ 本帖最后由 pusofalse 于 2008-8-18 16:52 编辑 ]
作者: 新硕 时间: 2008-8-18 16:59
主要是那个 “ )else( ”要加空格 “ ) else ( ”
谢谢啦
作者: Batcher 时间: 2008-8-18 19:18 标题: 回复 4楼 的帖子
根据前人的讨论结果,goto后面的标签最好加:
作者: pusofalse 时间: 2008-8-18 23:02 标题: 回复 6楼 的帖子
原来如此。BATMAN兄以前告诉过我goto后面的标签不要加:,所以之后我才没加的。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |