找回密码
 加入
搜索
查看: 2787|回复: 4

[AU3基础] [已解决]读取多目录下INI文件内容,并统一执行操作的问题。

  [复制链接]
发表于 2010-4-27 00:45:05 | 显示全部楼层 |阅读模式
本帖最后由 vszy 于 2010-4-27 07:19 编辑

假设条件如下:
总目录soft,内含sys、Media两个目录。这两个目录里都有一个in.ini文件内容分别 如下:
sys下的in.ini:
[setup]
1=winrar.exe /s
......
......
8=xnafx31_redist.msi /qn


Media下的in.ini:
1=wmformat11sdk.exe /q
......
......
9=QTime.exe /s /v /qn

设想如下在soft目录下写一个setup.au3,使其能读取sys和Media目录下的in.ini文件的内容(当然或许是更多目录下的in.ini),然后按照读取内容依次执行:
RUNWait(@ScriptDir&"\sys\winrar.exe /s")
......
......
RUNWait(@ScriptDir&"\sys\xnafx31_redist.msi /qn")
RUNWait(@ScriptDir&"\Media\wmformat11sdk.exe /q")
......
......
RUNWait(@ScriptDir&"\Media\QTime.exe /s /v /qn")

IniRead 这个命令知道,但用的不精,还有怎么枚举所有目录下的in.ini再把从这些ini文件中获得的值按一定顺序排列,并逐个执行.实在没有头绪.还望大家多多支持!先谢谢各位大侠了!

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-4-27 01:38:43 | 显示全部楼层
本帖最后由 afan 于 2010-4-27 11:40 编辑
#include <File.au3>
Local $sDir = _FileListToArray(@ScriptDir, '*', 2)
If @error Then Exit Msgbox(48, '错误', '此目录下无文件夹')
Local $i, $x, $inifile, $setup
For $i = 1 To $sDir[0]
        $inifile = $sDir[$i] & '\ini.ini'
        If FileExists($inifile) Then
                $setup = IniReadSection($inifile, 'setup')
                If @Error Then ContinueLoop
                For $x = 1 To $setup[0][0]
                        ;RunWait(@ScriptDir & '\' & $sDir[$i] & '\' & $setup[$x][1])
                        MsgBox(0, 0, "RunWait('" & @ScriptDir & '\' & $sDir[$i] & '\' & $setup[$x][1] & "')")
                Next
        EndIf
Next
注意,如果路径含有空格,还需在读取ini文件的值时做插入引号处理。

评分

参与人数 1金钱 +40 收起 理由
sensel + 40 还没睡啊,辛苦。

查看全部评分

 楼主| 发表于 2010-4-27 07:17:06 | 显示全部楼层
谢谢老大深夜回帖,幸苦了。
(@ScriptDir & $sDir[$i] & '\' & $setup[$x][1])
这里少了个 \  。其他的应该可以解决了。
再次深表感谢!
发表于 2010-4-27 11:42:32 | 显示全部楼层
谢谢老大深夜回帖,幸苦了。
(@ScriptDir & $sDir[$i] & '\' & $setup[$x][1])
这里少了个 \  。其他的应 ...
vszy 发表于 2010-4-27 07:17



    没错,的确少了个'\',瞌睡了没仔细检查,呵呵~
发表于 2010-4-27 13:16:11 | 显示全部楼层
我是来赚钱的~~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-2 07:54 , Processed in 0.082275 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表