中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-27 10:59
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 刚来此地,有几个小白问题希望不吝赐教 :) 查看 699 回复 8
楼 主 刚来此地,有几个小白问题希望不吝赐教 :) 发表于 2007-12-12 16:31 ·  中国 上海 徐汇区 电信
新手上路
积分 12
发帖 5
注册 2007-12-12 15:39
18年会员
UID 105438
性别 男
状态 离线
1.如何判断环境变量 ABC 是否已经定义
2.如果用if判断字符串变量str包含字符abc

谢谢
2 发表于 2007-12-12 16:39 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
if defined ABC echo %%ABC%% 变量内容为 %ABC%

如果str只包含有字符abc:
if /i %str% == abc echo %%str%% 包含 abc

具体查看if/?
3 发表于 2007-12-12 16:43 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
Originally posted by alinnb at 2007-12-12 04:31 PM:
1.如何判断环境变量 ABC 是否已经定义
2.如果用if判断字符串变量str包含字符abc

谢谢



字符串变量和值是两码事,str就是你定义的变量,而值是后面付给的数值.
所以很明显 "str"中没"ABC"
4 发表于 2007-12-12 16:48 ·  中国 上海 徐汇区 电信
新手上路
积分 12
发帖 5
注册 2007-12-12 15:39
18年会员
UID 105438
性别 男
状态 离线
谢谢,去研究下 :)
5 发表于 2007-12-12 17:04 ·  中国 上海 徐汇区 电信
新手上路
积分 12
发帖 5
注册 2007-12-12 15:39
18年会员
UID 105438
性别 男
状态 离线
如果我定义的变量str里面的值是abcdefg,我想判断它是否包含abc,怎么判断呢?谢谢
6 发表于 2007-12-12 17:29 ·  中国 安徽 芜湖 电信
高级用户
★★
积分 537
发帖 219
注册 2006-10-31 21:08
19年会员
UID 69036
性别 男
来自 芜湖
状态 离线
画蛇添足了,不过也为了完整性更强点 #_#
你咋用的啊?我试了半天都有用


@echo off & setlocal enabledelayedexpansion
set str=abcdefg
set x=fg
set "hanasi=有字串 "%x%""
if "!str:%x%=!"=="%str%" set hanasi=没%hanasi%
echo %hanasi%
pause




@echo off
echo %str%|findstr "abac">nul&&echo 包含||echo 不包含
pause


[ Last edited by huzixuan on 2007-12-12 at 05:47 PM ]
江湖远
碧空长
路茫茫

一个人漫无目的的奔跑,风,刺骨的冷....
7 发表于 2007-12-12 17:30 ·  中国 上海 徐汇区 电信
新手上路
积分 12
发帖 5
注册 2007-12-12 15:39
18年会员
UID 105438
性别 男
状态 离线
试了半天都没用,难道是判断一个字符串是否包含另外一个字符串不能直接用if判断吗?
8 发表于 2007-12-12 17:38 ·  中国 广西 玉林 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
find或findstr
echo %str%|findstr /i "abc">nul
if errorlevel 0 echo str 包含 abc 字符
if errorlevel 1 echo str 不包含 abc 字符
9 发表于 2007-12-12 17:47 ·  中国 上海 徐汇区 电信
新手上路
积分 12
发帖 5
注册 2007-12-12 15:39
18年会员
UID 105438
性别 男
状态 离线
成功啦, 太感谢了
论坛跳转: