[已解决]搜索档案加入字串在档案最尾端..
本帖最后由 t895073 于 2011-10-27 15:18 编辑我的文件夹内有很文件夹
每個文件夹内只有一个 Makedata 文件 (没有档名!可以编辑)
如何在搜索"所有"文件夹内的 Makedata文件 然後加入一串字串在档案尾端
我想加入字串 "fata=0" 谢谢
(搜索所有目录层数) 截个图出来看看先,不然不好理解你的意思 回复 2# xms77
我修改了问题了...
请问看的懂吗 回复 3# t895073 #NoTrayIcon
Opt("MustDeclareVars", 1)
#include <Constants.au3>
Local $Drive, $I, $File
$File = InputBox("输入", "输入要查找的文件名:", "", "", 180, 80, -1, -1)
If @error Or $File = "" Then Exit
$Drive = "D:\"
Local $foo, $line, $lines
$foo = Run(@ComSpec & " /c dir /b /s /a " & $File, $Drive & "\", @SW_HIDE, $STDOUT_CHILD)
MsgBox(0,0,@ComSpec & " /c dir /b /s /a " & $File, $Drive & "\")
$lines = ""
While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
$lines &= $line
WEnd
If $lines = "" Then
MsgBox(16, "错误", "在驱动器" & $Drive & "没有找到要找的文件!", 2)
EndIf
MsgBox(0, "找到的文件:", $lines)
这个可以做到!
传送门 http://www.autoitx.com/forum.php?mod=viewthread&tid=3049&highlight=%CB%D1%CB%F7%2B%CE%C4%BC%FE 用_ListFiletoArray()函数来查找文件夹 本帖最后由 t895073 于 2011-10-20 21:52 编辑
回复 4# haodd
这个会列出所有的路径
我有修改一下都失败
我想要每个文件去加入想要的字串在文件尾
不知道怎么加入写文件内容功能
麻烦了 本帖最后由 haodd 于 2011-10-21 13:18 编辑
回复 6# t895073
$file = FileOpen($line,1)
FileWriteLine ($file, "数据" )
;~ or
;~ FileWrite ( $file, "文本/数据" )
FileClose($file)
回复 7# haodd
请问这句要加在哪里?
加进去都没有作用 回复 8# t895073
While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
$lines &= $line
$file = FileOpen($line,1)
FileWriteLine ($file, "数据" )
;~ or
;~ FileWrite ( $file, "文本/数据" )
FileClose($file)
WEnd 自己动手 丰衣足食 本帖最后由 t895073 于 2011-10-26 21:36 编辑
回复 9# haodd
试了....失败
-----------------------------------
While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
$lines &= $line
$file = FileOpen($line,1)
If $file = -1 Then
MsgBox(0, "错误", "不能打开文件.")
Exit
EndIf
FileWriteLine ($file, "fata=0" )
WEnd
-----------------------------------
照你的方法
会显示这列MsgBox(0, "", "不能打文件.")
哪里出了问题呢?
谢谢 Local $path = 'C:\Test'
Local $sSearch = 'Makedata'
Local $sAddLine = 'fata=0'
Local $Info = ''
_FileSearch($path)
If $Info <> '' Then
MsgBox(64, '已修改的文档', $Info)
Else
MsgBox(48, '', '未找到匹配的文档')
Endif
Func _FileSearch($searchdir)
Local $search = FileFindFirstFile($searchdir & '\*')
If $search = -1 Then Return -1
While 1
Local $file = FileFindNextFile($search)
If @error Then
FileClose($search)
Return
ElseIf $file = '.' Or $file = '..' Then
ContinueLoop
ElseIf StringInStr(FileGetAttrib($searchdir & '\' & $file), 'D') Then
_FileSearch($searchdir & '\' & $file)
EndIf
If $file = $sSearch Then
Local $fTmp = $searchdir & '\' & $file
If StringRegExp(FileRead($fTmp), '\v$') Then
FileWriteLine($fTmp, $sAddLine)
Else
FileWriteLine($fTmp, @CRLF & $sAddLine)
Endif
$Info &= $fTmp & @CRLF
EndIf
WEnd
EndFunc ;==>_FileSearch
回复 12# afan
非常谢谢afan 帮忙
学习了!!!
页:
[1]