找回密码
 加入
搜索
查看: 3798|回复: 12

[AU3基础] [已解决]搜索档案加入字串在档案最尾端..

  [复制链接]
发表于 2011-10-20 11:52:46 | 显示全部楼层 |阅读模式
本帖最后由 t895073 于 2011-10-27 15:18 编辑

我的文件夹内有很文件夹
每個文件夹内只有一个 Makedata 文件 (没有档名!可以编辑)
如何在搜索"所有"文件夹内的 Makedata文件 然後加入一串字串在档案尾端
我想加入字串 "fata=0" 谢谢
(搜索所有目录层数)
发表于 2011-10-20 13:59:32 | 显示全部楼层
截个图出来看看先,不然不好理解你的意思
 楼主| 发表于 2011-10-20 17:50:23 | 显示全部楼层
回复 2# xms77


   我修改了问题了...
请问看的懂吗
发表于 2011-10-20 20:47:44 | 显示全部楼层
回复 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 ... B%F7%2B%CE%C4%BC%FE
发表于 2011-10-20 20:51:46 | 显示全部楼层
用_ListFiletoArray()函数来查找文件夹
 楼主| 发表于 2011-10-20 21:50:36 | 显示全部楼层
本帖最后由 t895073 于 2011-10-20 21:52 编辑

回复 4# haodd


这个会列出所有的路径
我有修改一下都失败
我想要每个文件去加入想要的字串在文件尾
不知道怎么加入写文件内容功能
麻烦了
发表于 2011-10-21 13:16:33 | 显示全部楼层
本帖最后由 haodd 于 2011-10-21 13:18 编辑

回复 6# t895073


   

$file = FileOpen($line,1)
FileWriteLine ($file, "数据" )
;~         or
;~         FileWrite ( $file, "文本/数据" ) 
FileClose($file)

 楼主| 发表于 2011-10-21 14:11:45 | 显示全部楼层
回复 7# haodd


请问这句要加在哪里?
加进去都没有作用
发表于 2011-10-21 19:34:25 | 显示全部楼层
回复 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
发表于 2011-10-21 19:34:46 | 显示全部楼层
自己动手 丰衣足食
 楼主| 发表于 2011-10-26 21:13:12 | 显示全部楼层
本帖最后由 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, "", "不能打文件.")
哪里出了问题呢?
谢谢
发表于 2011-10-27 00:31:07 | 显示全部楼层
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
 楼主| 发表于 2011-10-27 15:17:42 | 显示全部楼层
回复 12# afan


非常谢谢afan 帮忙
学习了!!!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-1 12:24 , Processed in 0.100722 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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