找回密码
 加入
搜索
查看: 11405|回复: 26

[AU3基础] 如何 读取ini的关键字 对比txt 如果相同的就修改txt的内容[已解决]

 火.. [复制链接]
发表于 2010-6-18 19:57:54 | 显示全部楼层 |阅读模式
本帖最后由 minbiao 于 2010-6-30 16:21 编辑

比如:
1.ini
[配置]
12=34
56=78
--------------------------
2.txt
1248  5633  3668
--------------------------
读取1.ini的关键字,对比2.txt的内容,如果相同就修改2.txt 的内容
修改后2.txt的内容为:
3448  7833  3668

问下各位大大,应该如何写?  谢谢....
发表于 2010-6-18 20:20:46 | 显示全部楼层
如果 2.txt 为 3124  5656  3668 的话,期望得到什么结果?
3124  7878  3668 还是 3344  7878  3668
 楼主| 发表于 2010-6-18 20:27:34 | 显示全部楼层
本帖最后由 minbiao 于 2010-6-18 20:31 编辑

期望得到  3344  7878  3668

嘿嘿! 版主  我在线等您回复!
发表于 2010-6-18 20:41:47 | 显示全部楼层
$txt = FileRead('2.txt')
$ini = IniReadSection('1.ini', '配置')
If @error Then Exit
For $i = 1 To $ini[0][0]
        $txt = StringReplace($txt, $ini[$i][0], $ini[$i][1])
Next
$fo = FileOpen('2.txt', 2)
FileWrite($fo, $txt)
FileClose($fo)
ShellExecute('2.txt')
 楼主| 发表于 2010-6-18 21:01:33 | 显示全部楼层
谢谢版主!...
 楼主| 发表于 2010-6-18 21:12:57 | 显示全部楼层
嘿嘿! 试过了! 非常好用...谢谢版主!
发表于 2010-6-18 22:49:54 | 显示全部楼层
新手,跟着学习学习
 楼主| 发表于 2010-6-19 01:45:23 | 显示全部楼层
如果要修改一个文件夹下的全部txt的话, 要该怎么写?
发表于 2010-6-19 01:52:26 | 显示全部楼层
_FileListToArray()
再循环逐个处理
 楼主| 发表于 2010-6-19 02:37:56 | 显示全部楼层
小弟不才! 望版主详解!
发表于 2010-6-19 11:17:09 | 显示全部楼层
回复 10# minbiao


    可以参考我的那个帖子 关于_FileListToArray() 的使用
http://www.autoitx.com/thread-11203-1-1.html
 楼主| 发表于 2010-6-19 11:52:21 | 显示全部楼层
搞了一下没能搞出来, 大大们帮帮忙!
发表于 2010-6-19 12:03:40 | 显示全部楼层
搞了一下没能搞出来, 大大们帮帮忙!
minbiao 发表于 2010-6-19 11:52



    那就再搞多几下就会出来了,自己找答案更有成就感
 楼主| 发表于 2010-6-19 14:53:16 | 显示全部楼层
$txt = _FileListToArray(@ScriptDir & "\文件","*.txt",1)
$ini = IniReadSection("2.ini", "配置")
If @error Then Exit

For $i = 1 To $txt[0]
      $is = FileRead($i)
这样写对吗?  接下去应该怎么写?
发表于 2010-6-19 15:20:31 | 显示全部楼层
自己试过了再看下面的代码
#include <File.au3>

$ini = IniReadSection('1.ini', '配置')
If @error Then Exit MsgBox(0, 1, @error)
$Dir = @ScriptDir & '\文件'
$File = _FileListToArray($Dir, '*.txt', 1)
If @error Then Exit MsgBox(0, 2, @error)
For $i = 1 To $File[0]
        $s_File = $Dir & '\' & $File[$i]
        $txt = FileRead($s_File)
        For $ii = 1 To $ini[0][0]
                $txt = StringReplace($txt, $ini[$ii][0], $ini[$ii][1])
        Next
        $fo = FileOpen($s_File, 2)
        FileWrite($fo, $txt)
        FileClose($fo)
Next
MsgBox(64, '完成', '已处理完成 ' & $File[0] & ' 个文件 ')
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-18 01:43 , Processed in 0.091895 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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