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

[文件操作] [已解决]请教批处理中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 编辑 ]

if /i "%a%"=="Y"

TOP

set /p a=请选择(Y/N):
if  /i "%a%" == "Y" (goto a ) else (goto c)
y|Y goto a 其他 goto c

TOP

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

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

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

TOP

原帖由 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就可以了嘛。

TOP

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

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



不好意思啊,我弄错了,应该是要跳转到d,要是这样的话,我又改怎么写呢?

TOP

回复 6楼 的帖子

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

TOP

回复 6楼 的帖子

无视此楼....

TOP

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

要是只有上面两条的话,输入其他数值时就会依次往下执行呀?

TOP

  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 这一步了。

TOP

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

[ 本帖最后由 binghee 于 2010-8-4 13:39 编辑 ]

TOP

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

TOP

返回列表