楼 主
[已结]批处理读取INI里内容后 判断是否是1或0
发表于 2008-10-18 00:42 · 中国 江苏 南通 电信
新手上路
★
积分 6 发帖 6 注册 2008-10-18 00:17 17年会员 UID 128622 性别 男
状态 离线
求教 批处理读取INI里内容后 判断是否是1或0 然后执行相应程序!
比如我有个INI里 文件内容如下:(;;;;;;;;;;;;;;;;;是我加上去的)
;;;;;;;;;;;;;;;;;
开放=1
;;;;;;;;;;;;;;;;;
用BAT 读取这个INI里的 开放后面的数字 如果是1 则执行a.bat 如果是0则执行b.bat 请问这个怎么写哇
[ Last edited by HAT on 2008-10-19 at 13:25 ]
第 2 楼
发表于 2008-10-18 00:43 · 中国 江苏 南通 电信
新手上路
★
积分 6 发帖 6 注册 2008-10-18 00:17 17年会员 UID 128622 性别 男
状态 离线
比如我把这个 ini 放在C盘下 名字为 开关
ini路径就为 C:\开关.ini
第 3 楼
发表于 2008-10-18 01:46 · 中国 贵州 黔西南布依族苗族自治州 兴义市 电信
银牌会员
★★★
积分 2,098 发帖 566 注册 2007-09-11 07:27 18年会员 UID 97070 性别 男
状态 离线
第 4 楼
发表于 2008-10-18 09:13 · 中国 江苏 南通 电信
新手上路
★
积分 6 发帖 6 注册 2008-10-18 00:17 17年会员 UID 128622 性别 男
状态 离线
第 5 楼
发表于 2008-10-18 09:16 · 中国 江苏 南通 电信
新手上路
★
积分 6 发帖 6 注册 2008-10-18 00:17 17年会员 UID 128622 性别 男
状态 离线
我明白思路 但是对dos不太了解 不会写
高手能不能帮忙启发以下
设置变量 变量从 ini里 读取 开放=1
如果变量是1 则执行a.bat 如果是0 则执行b.bat
第 6 楼
[数据库]
发表于 2008-10-18 09:29 · 中国 江苏 南通 电信
新手上路
★
积分 6 发帖 6 注册 2008-10-18 00:17 17年会员 UID 128622 性别 男
状态 离线
@echo off
for /f "usebackq" %%i in (`type 开关.ini ^| find /i "开放="`) do set %%i
echo 数值是: %开放%
这个我凑出来了 下面开始判断 这个 %开放% 是否是1 还是 0 是1就执行a.bat 是0就执行b.bat
请问接下来怎么写,谢谢
第 7 楼
发表于 2008-10-18 10:06 · 中国 江西 赣州 电信
初级用户
★
积分 80 发帖 45 注册 2006-09-22 22:28 19年会员 UID 63398 性别 男 来自 jiangxi
状态 离线
findstr /i "开放=1" "C:\开关.ini" && start a.bat
findstr /i "开放=0" "C:\开关.ini" && start b.bat
[ Last edited by ccily2701 on 2008-10-18 at 10:07 ]
第 8 楼
发表于 2008-10-18 10:12 · 美国 惠普HP
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
@echo off
for /f "tokens=2 delims==" %%a in ('findstr "开放=" "a.ini"') do (
set open=%%a
)
if "%open%" equ "1" (
echo 后面的数字是1
) else if "%open%" equ "0" (
echo 后面的数字是0
) else (
echo 后面的数字不是1也不是0
)
pause
第 9 楼
发表于 2008-10-18 11:04 · 中国 安徽 马鞍山 联通
金牌会员
★★★★
积分 3,946 发帖 1,884 注册 2006-01-20 13:00 20年会员 UID 49283 性别 男
状态 离线
type C:\开关.ini |find /i "开放=1">nul &&call a.bat&&goto exit
type C:\开关.ini |find /i "开放=0">nul &&call b.bat&&goto exit
:exit
第 10 楼
发表于 2008-10-18 12:25 · 中国 广东 清远 电信
高级用户
★★★
CMD感染者
积分 691 发帖 383 注册 2008-05-23 00:38 18年会员 UID 119451 性别 男
状态 离线
@echo off
for /f "tokens=2 delims==" %%a in ('find "开放=" "C:\开关.ini"') do set str=%%a
if "%str%" == "1" (call a.bat) else (if "%str%" == "0" (call b.bat) else (echo,数值不是0或1&pause&goto :eof)
第 11 楼
发表于 2008-10-18 14:03 · 中国 江苏 常州 武进区 电信
银牌会员
★★★
积分 2,404 发帖 946 注册 2005-09-08 13:44 20年会员 UID 42345
状态 离线
@echo off
findstr /i "^开放=1$" "C:\开关.ini">nul &&echo a.bat||findstr /i "^开放=0$" "C:\开关.ini">nul&&echo b.bat
pause
简单!简单!再简单!
第 12 楼
发表于 2008-10-19 12:28 · 中国 江苏 南通 电信
新手上路
★
积分 6 发帖 6 注册 2008-10-18 00:17 17年会员 UID 128622 性别 男
状态 离线
谢谢各位的帮助 现在就尝试一下 !
再次表示感谢!
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正