Board logo

标题: [文件操作] [已解决]请教批处理中if exist的用法? [打印本页]

作者: binghee    时间: 2010-8-4 11:23     标题: [已解决]请教批处理中if exist的用法?

@echo off
if exist "d:\ip.txt" goto a ELSE goto b
:a
echo D 盘有此文件
:b
echo D盘不存在IP文件,是否将现有IP信息输出?(Y/N)
set /p a=请选择(Y/N):
if "%a%" == "Y" goto a
if "%a%" == "N" goto c

请问各位,我这里只能输入大写的Y与大写的N才有效,输入其他的任何数值都会依次往下执行,有办法不区分大小写以及输入除Y以外的任何值都执行c吗?
菜鸟提问,各位大侠莫笑。

[ 本帖最后由 binghee 于 2010-8-4 14:59 编辑 ]
作者: broly    时间: 2010-8-4 12:03

if /i "%a%"=="Y"
作者: hfg1977    时间: 2010-8-4 12:10

set /p a=请选择(Y/N):
if  /i "%a%" == "Y" (goto a ) else (goto c)
y|Y goto a 其他 goto c
作者: binghee    时间: 2010-8-4 12:30

多谢前面两位兄弟,原来 /i 是不区分大小写,我还有一个问题没解决,如下:

set /p a=请选择(Y/N):
if "%a%" == "Y" goto a
if "%a%" == "N" goto c

如果我再加一条if语句,实现输入任何数值都跳转到c可以吗?
作者: wankoilz    时间: 2010-8-4 12:34

原帖由 binghee 于 2010-8-4 12:30 发表
多谢前面两位兄弟,原来 /i 是不区分大小写,我还有一个问题没解决,如下:

set /p a=请选择(Y/N):
if "%a%" == "Y" goto a
if "%a%" == "N" goto c

如果我再加一条if语句,实现输入任何数值都跳转到c可以 ...

既然输入任何数据都跳转到c,那就没必要判断了,输入之后直接跳转到c就可以了嘛。
作者: binghee    时间: 2010-8-4 13:06

原帖由 wankoilz 于 2010-8-4 12:34 发表

既然输入任何数据都跳转到c,那就没必要判断了,输入之后直接跳转到c就可以了嘛。



不好意思啊,我弄错了,应该是要跳转到d,要是这样的话,我又改怎么写呢?
作者: wankoilz    时间: 2010-8-4 13:12     标题: 回复 6楼 的帖子

输入“任何数据”都跳到d的话,那仍然是无需判断嘛,输入完了直接goto就是了:
  1. set /p a=请选择(Y/N):
  2. goto :d
复制代码

作者: wankoilz    时间: 2010-8-4 13:12     标题: 回复 6楼 的帖子

无视此楼....
作者: binghee    时间: 2010-8-4 13:20

set /p a=请选择(Y/N):
if "%a%" == "Y" goto a
if "%a%" == "N" goto c

我的意思就是要写三条判断语句(第三条怎么写?)
1.输入Y或y时跳转到a
2.输入N或n时跳转到c
3.输入其他数值时跳转到d

要是只有上面两条的话,输入其他数值时就会依次往下执行呀?
作者: wankoilz    时间: 2010-8-4 13:26

  1. set /p a=请选择(Y/N):
  2. if "%a%" == "Y" goto a
  3. if "%a%" == "N" goto c
  4. goto d
复制代码
这个意思就是:如果输入不是Y或N,自然就到 goto d 这一步了。
作者: binghee    时间: 2010-8-4 13:34

非常感谢wankoilz 的热心帮助,方便告诉我QQ吗,论坛交流有点麻烦?
我的Q:419677027

[ 本帖最后由 binghee 于 2010-8-4 13:39 编辑 ]
作者: wankoilz    时间: 2010-8-4 13:40

倒是知道个交流群号:3219406
不过我建议楼主最好还是在论坛发帖解决问题,虽然有时候不能得到及时回帖,
但得到的答案是比较准确的,因为批处理之家高手如云,管理层责任心强。




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