linzhuantu 发表于 2012-8-26 10:33:59

查找某文件夹下是否有.inf的文件,有则返回文件夹路径,应该怎么写?

需要由程序自动去计算机某个文件夹下或某个盘下寻找含有.inf格式的文件,有的话返回这个含这个文件的文件夹路径。例如,D盘下有D:\文件A\xxx.inf,则返回D:\文件A。Au3应该怎么写才比较好呢

虫子樱桃 发表于 2012-8-26 11:15:26

帮助中的例子程序
FindAllFile(@ScriptDir)
Func FindAllFile($sDir)
    Local $hSearch = FileFindFirstFile($sDir & "\*.*")
    ; 检查搜索是否成功
    If $hSearch = -1 Then Return
    While 1
      Local $sFile = FileFindNextFile($hSearch)
                ;没有找到就退出
      If @error Then ExitLoop
      
                ;如果找到文件夹
      If @extended Then
            FindAllFile($sDir & "\" & $sFile)
            ContinueLoop
      EndIf
      FileWriteLine("找到的文件.txt",$sDir & "\" & $sFile)
    WEnd
    ; 关闭搜索句柄
    FileClose($hSearch)
EndFunc

linzhuantu 发表于 2012-8-26 14:00:00

回复 2# 虫子樱桃


    这个程序能找含.inf格式的文件了,返回的是文件的路径,然后最终目的不是要得到文件的路径值,而是要得到路径所在的路径。比如有 D:\text\a.inf,因此上面的函数便会返回D:\text\a.inf,而我们要得到的是D:\text,应该怎么写呢?

netegg 发表于 2012-8-26 14:21:50

udf区找枚举文件

veket_linux 发表于 2012-8-26 14:41:42

stringinstr 对D:\text\a.inf从后向前找到 第一个 \ 的位置
stringleft再取这个位置前的也就是 D:\text\a.inf的\a.inf前的、
或者.........
_PathSplit 把路径 盘符 文件名 扩展名 拆开

在把你要的东西 拼起来

veket_linux 发表于 2012-8-26 14:42:43

楼主      那是什么图? labview2012?

linzhuantu 发表于 2012-8-26 14:44:05

回复 4# netegg


   请教元老,能否直接给个例子?

afan 发表于 2012-8-26 15:20:33

回复 3# linzhuantu Local $sFile = 'D:\text\a.inf'
Local $sPath = StringRegExpReplace($sFile, '\\[^\\]+$', '')
MsgBox(0, $sFile, $sPath)

linzhuantu 发表于 2012-8-26 15:31:48

回复 9# afan


    最终要的到的只是:
      在某个文件夹下寻找是否含有.inf的文件,有则返回这个文件夹(包括子文件夹)的路径
      
      按上面说的感觉把程序复杂化了

linzhuantu 发表于 2012-8-26 17:35:18

回复 2# 虫子樱桃


    请教高手,我的目的是
       在某个文件夹下寻找是否含有.inf的文件,有则返回这个文件夹(包括子文件夹)的路径
   是不是有函数可以直接得到数据?
   而根据上面各楼,都要先得到.inf的文件路径,再得到.inf文件所在的文件夹路径,感觉程序复杂化了,该怎么办呢

linzhuantu 发表于 2012-8-26 19:06:55

回复 9# afan


    谢谢afan,结合虫子樱桃和你的代码,实在太好了,成功了

xms77 发表于 2012-8-26 21:51:15

回复 7# veket_linux
同样好奇楼主的图!
页: [1]
查看完整版本: 查找某文件夹下是否有.inf的文件,有则返回文件夹路径,应该怎么写?