Board logo

标题: if /i 与 set 命令有冲突吗? [打印本页]

作者: zjren     时间: 2007-3-27 00:55    标题: if /i 与 set 命令有冲突吗?
小弟有用到判断条件后set name=##的情况。
发现根本没有执行改句。
set /p sk=[1,2,3]?
if /i "%sk%"="1" set name=酒 goto :吃饭
if /i "%sk%"="2" set name=饭 goto :喝酒

结果不行。
怎么能够用判断 赋予name不同的值?谢谢。

作者: zjren     时间: 2007-3-27 00:57    标题: echo 你好 就可以。
if /i "%sk%"="1" echo 你吃过了。
这句却可以。可见是if /i 与 set 命令不和了。

作者: lxmxn     时间: 2007-3-27 01:00

To zjren:

  是不是这里(set name=酒&goto :吃饭)掉了一个&号?

作者: zjren     时间: 2007-3-27 01:28    标题: 不知道哪里错了。
@set /P CHS = [请选择数字?]?
if /I "%CHS%"=="a" goto :1
@if /I "%CHS%"=="b" goto :2
@if /I "%CHS%"=="c" goto :3
@if /I "%CHS%"=="d" goto :4
@if /I "%CHS%"=="5" goto :5
@if /I "%CHS%"=="6" goto :6
@if /I "%CHS%"=="7" goto :7
@if /I "%CHS%"=="8" goto :8
@if /I "%CHS%"=="9" goto :10-19
@echo 你的输入有误
goto :end
:1
set name=死亡之屋 && goto :游戏更新
:2
set name=完美世界国际版 && goto :游戏更新
:3
set name=神泣 && goto :游戏更新
:4
set name=QQ音速 && goto :游戏更新
:5
set name=QQ幻想 && goto :游戏更新
:6
set name=冒险岛 && goto :游戏更新
:7
set name=梦幻西游 && goto :游戏更新
:8
set name=街头篮球 && goto :游戏更新

作者: zjren     时间: 2007-3-27 01:37    标题: 问题解决了。
@set /P CHS = [请选择数字?] 错了,应该是:下面
@set /P CHS= [请选择数字?]

作者: zh159     时间: 2007-3-27 01:41
Originally posted by zjren at 2007-3-26 11:55:
小弟有用到判断条件后set name=##的情况。
发现根本没有执行改句。
set /p sk=?
if /i "%sk%"="1" set name=酒 goto :吃饭
if /i "%sk%"="2" set name=饭 goto :喝酒

结果不行。
怎么能够用判断 赋予name不同的值?谢谢。


set name=酒&goto :吃饭
set name=饭&goto :喝酒

Originally posted by zjren at 2007-3-26 12:28:
@set /P CHS = ?
if /I "%CHS%"=="a" goto :1
@if /I "%CHS%"=="b" goto :2
@if /I "%CHS%"=="c" goto :3
@if /I "%CHS%"=="d" goto :4
@if /I "%CHS%"=="5" goto :5
@if /I "%CHS%"=="6" goto :6
@if /I "%CHS%"=="7" goto :7
@if /I "%CHS%"=="8" goto :8
@if /I "%CHS%"=="9" goto :10-19
@echo 你的输入有误
goto :end
:1
set name=死亡之屋 && goto :游戏更新
:2
set name=完美世界国际版 && goto :游戏更新
:3
set name=神泣 && goto :游戏更新
:4
set name=QQ音速 && goto :游戏更新
:5
set name=QQ幻想 && goto :游戏更新
:6
set name=冒险岛 && goto :游戏更新
:7
set name=梦幻西游 && goto :游戏更新
:8
set name=街头篮球 && goto :游戏更新
:end

作者: zjren     时间: 2007-3-27 12:11    标题: 恩.谢了.小弟的批处理技术很刺
真心能向各位大哥学习啊.

作者: kisslbye     时间: 2008-9-30 07:17
我看到过一段 他的可以
echo off
SET /P ST= 请输入 Y (现在重启)或 N (稍后重启):
echo.
if /I "%ST%"=="Y" goto R
if /I "%ST%"=="N" goto EX

:r
SHUTDOWN -R -T 120
pause

:ex
echo 还不
pause

作者: 23112656     时间: 2008-10-1 16:30
你就少了个&