中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 我自己写的 ini/资源文件读取
作者:
标题: 我自己写的 ini/资源文件读取 上一主题 | 下一主题
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『楼 主』:  我自己写的 ini/资源文件读取

代码不是太好。见谅.未作完整的除虫.
@echo off %{BY knoppix7@www.cndos.net}%
::%1 =>INI文件路径
::%2 =>段名 不用加[]
::%3 =>变量名
::%3为空则读出整段内容
::Command =>模式(如 SET/ECHO) {set:设置为变量 echo:显示 },不能为空
::YH =>设置是否使用引号YH="则加引号 YH不存在则不加
::变量延迟必须在父BAT中被打开
if NOT EXIST "%~1" (Echo File Not Found&GOTO :EOF)
if "%~2"==""  GOTO :EOF
for /F "eol=; tokens=1 delims=:" %%i IN ('findstr /I /n /c:"[%~2]" "%~1" ^| Findstr /v ";" ') DO (
	SET line=%%i
)
if "%line%"=="" (echo Section Not Found&GOTO :EOF)
FOR /f "eol=; tokens=1* skip=%line% delims=" %%i IN ('type "%~1"') DO (
	set "temp_1=%%i"
	if "!temp_1:~0,1!"=="[" (GOTO :EOF) ELSE (
		IF "%~3"=="" (%command% %YH%%%i%YH%) ELSE (
			FOR /F "tokens=1 delims==" %%a IN ("%%i") DO (
				if /i "%%a"=="%~3" (%command% %YH%%%i%YH%)
			)
		)
	)
)
set YH=
set line=
set temp_1=
作为子BAT调用的时候请不要再这个BAT里加setlocal ENABLEDELAYEDEXPANSION 因为这样的话.这个BAT执行完就会把变量还原了,白读了. 用途: 方便设定/显示ini内容(看command设置了) 捆绑资源.("command=>>XX.txt echo "的时候就是输出文件了) 以前用more/type 捆绑vbs文件,一个BAT只能捆绑一个.写成资源就随便了(看示例) 代码只是骨架,其他功能请自己开发把. 示例: @echo off&setlocal ENABLEDELAYEDEXPANSION set YH=" set command=set echo 设置变量 call inifile.bat "%~0" 设置变量 set words pause echo 显示内容 set YH= set command=echo call inifile.bat "%~0" 显示内容 pause echo 输出文件 set YH= set "command=>>test.bat echo" call inifile.bat "%~0" 输出文件 call test.bat pause del test.bat GOTO :EOF [设置变量] words=welcome to cn-dos [显示内容] welcome to cn-dos [输出文件] @echo off echo output as "%~f0" echo welcome to cn-dos pause [ Last edited by knoppix7 on 2008-3-10 at 08:25 PM ]


2008-3-10 20:23
查看资料  发短消息  网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

无奈何版主的batch2ubb里面有一段读取ini文件的代码,写的挺好的。


2008-3-11 14:58
查看资料  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: