![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-26 10:38 |
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,275 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [讨论]VBS可不可读取这种INI文件 |
| 可打印版本 932 / 5 |
| 第1楼 81291895 | 发表于 2007-12-05 07:40 |
| 初级用户 发帖 17 积分 42 | |
|
[讨论]VBS可不可读取这种INI文件 SvcDir=\\192.168.0.252\Game\NetGame\QQ DisDir=E:\NetGame\QQ RunDir=QQ.exe RegDir=QQ.Reg RunCmd=Play.bat SvcDir=\\192.168.0.252\Game\Ghost\QQGame DisDir=E:\NetGame\QQGame RunDir=QQGame.exe RegDir=QQGame.Reg RunCmd=Play.bat SvcDir=\\192.168.0.252\Game\Ghost\456Game DisDir=E:\NetGame\456Game RunDir=lobby.exe RegDir=456Game.reg RunCmd=Play.bat 如脚本名为abc.vbs 我可以用“abc.vbs QQ游戏”调用下的参数 P处理是可以实现的 VBS想了很久还没想到 下面的脚本只能读取INI里最后一节参数 [ Last edited by 81291895 on 2007-12-5 at 10:12 PM ] |
|
| 第2楼 81291895 | 发表于 2007-12-05 21:24 |
| 初级用户 发帖 17 积分 42 | |
|
没人会吗?
|
|
| 第3楼 zh159 | 发表于 2007-12-05 21:31 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
问题是:要读取为这怎样的格式?
|
|
| 第4楼 hlowd | 发表于 2007-12-05 21:38 |
| 初级用户 发帖 29 积分 65 | |
|
哈哈 ini建议用API 要在VBS中调用,需要封装为OCX控件,然后用VBS调用
VBS自己好像只能把它当作文本文件读取...... |
|
| 第5楼 zh159 | 发表于 2007-12-05 21:58 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
只要VBS把它读取出来,通过处理也可以使用,但是不明白要处理成怎样的方式运行(很少玩游戏了-_-|||)
|
|
| 第6楼 slore | 发表于 2007-12-07 02:36 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
代码写的不错~而且很规范……
错在你找到了却没有及时退出。。。代码给你修改了,就加了个Exit Do On Error Resume Next Set oShell = Wscript.CreateObject("Wscript.Shell") Set objArgs = WScript.Arguments For I = 0 To objArgs.Count - 1 Gamename = objArgs(I) Next SvcDir = GetIni (Gamename,"SvcDir","Gamecfg.ini") DisDir = GetIni (Gamename,"DisDir","Gamecfg.ini") RunDir = GetIni (Gamename,"RunDir","Gamecfg.ini") RegDir = GetIni (Gamename,"RegDir","Gamecfg.ini") RunCmd = GetIni (Gamename,"RunCmd","Gamecfg.ini") Runfile = "Xxcopy " & SvcDir & " " & DisDir & " /pb/s/k/h/bi/yy/zy" oShell.run Runfile,0,True oShell.run RunCmd,0,True oShell.run "Regedit /s RegDir",0,True oShell.run RunDir Function GetIni(strPrimary, strSubKey, strIniFilePath) Dim fso, Myfile, intCount, strState Set fso = CreateObject("Scripting.FileSystemObject") Set Myfile = fso.OpenTextFile(strIniFilePath, 1, False, False) With Myfile Do Until .AtEndOfStream If intCount = 0 Then If .ReadLine = "" & strPrimary & "]" Then intCount = 1 End If Else strState = .ReadLine If UCase(Left(strState, Len(strSubKey & "="))) = UCase(strSubKey & "=") Then GetIni = Right(strState, Len(strState) - Len(strSubKey & "=")) Exit Do End If End If Loop .Close End With Set Myfile = Nothing Set fso = Nothing End Function |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |