如何 读取ini的关键字 对比txt 如果相同的就修改txt的内容[已解决]
本帖最后由 minbiao 于 2010-6-30 16:21 编辑比如:
1.ini
[配置]
12=34
56=78
--------------------------
2.txt
124856333668
--------------------------
读取1.ini的关键字,对比2.txt的内容,如果相同就修改2.txt 的内容
修改后2.txt的内容为:
344878333668
问下各位大大,应该如何写?谢谢.... 如果 2.txt 为 312456563668 的话,期望得到什么结果?
312478783668 还是 334478783668 本帖最后由 minbiao 于 2010-6-18 20:31 编辑
期望得到334478783668
嘿嘿! 版主我在线等您回复! $txt = FileRead('2.txt')
$ini = IniReadSection('1.ini', '配置')
If @error Then Exit
For $i = 1 To $ini
$txt = StringReplace($txt, $ini[$i], $ini[$i])
Next
$fo = FileOpen('2.txt', 2)
FileWrite($fo, $txt)
FileClose($fo)
ShellExecute('2.txt') 谢谢版主!... 嘿嘿! 试过了! 非常好用...谢谢版主! 新手,跟着学习学习 如果要修改一个文件夹下的全部txt的话, 要该怎么写? _FileListToArray()
再循环逐个处理 小弟不才! 望版主详解! 回复 10# minbiao
可以参考我的那个帖子 关于_FileListToArray() 的使用
http://www.autoitx.com/thread-11203-1-1.html 搞了一下没能搞出来, 大大们帮帮忙! 搞了一下没能搞出来, 大大们帮帮忙!
minbiao 发表于 2010-6-19 11:52 http://www.autoitx.com/images/common/back.gif
那就再搞多几下就会出来了,自己找答案更有成就感 $txt = _FileListToArray(@ScriptDir & "\文件","*.txt",1)
$ini = IniReadSection("2.ini", "配置")
If @error Then Exit
For $i = 1 To $txt
$is = FileRead($i)这样写对吗?接下去应该怎么写? 自己试过了再看下面的代码#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
$s_File = $Dir & '\' & $File[$i]
$txt = FileRead($s_File)
For $ii = 1 To $ini
$txt = StringReplace($txt, $ini[$ii], $ini[$ii])
Next
$fo = FileOpen($s_File, 2)
FileWrite($fo, $txt)
FileClose($fo)
Next
MsgBox(64, '完成', '已处理完成 ' & $File & ' 个文件 ')
页:
[1]
2