魔导 发表于 2013-3-13 21:41:00

复制某个目录下的所有 Jpg (包括子目录)[已解决]

本帖最后由 魔导 于 2013-3-13 22:30 编辑

求助:
1.把 A目录(1.不知道有多少个文件夹。2.不知道文件夹有多少层;就是目录下有目录,目录下又有目录的那种) 下的 Jpg 后缀的文件复制 到 B目录(只有一层)
2.小弟认为:获取所有路径后获取所有文件名再判断是否复制(个人愚见)。想向各位 大大、前辈们求得好的思路和方法。还请各位大大、前辈们指点指点。
或者 指点指点怎么获得 某个目录下(包括不知道有几个和有几层目录)所有的文件名。
多谢各位大大、前辈!!!
自己能解决的:
1.复制某个目录下的长文件名含有 JPG 的所有文件
2.用 MD5 值命名 某个 或 某些文件 防止不同的文件重复文件名


问题已解决正解在4 楼 。感谢 A大 提供的例子~~

afan 发表于 2013-3-13 21:56:33

如果仅仅只是怕因为文件名重复而“覆盖或放弃”导致文件遗漏,不如全部复制好了,每个文件名添加个“路径标记”则保证不会重复了。
搜索文件则很好办,随便拿个例子给你

魔导 发表于 2013-3-13 22:02:22

回复 2# afan


    麻烦   A大了 怎么得到所有的文件名啊

afan 发表于 2013-3-13 22:12:15

回复 3# 魔导 #Include <Array.au3>

Local $sPath = @ScriptDir & '\test'

Local $sFiles
_FileFindAll($sPath, $sFiles, '.jpg')

Local $aLine = StringRegExp($sFiles, '\V+', 3)
_ArrayDisplay($aLine, '')

Func _FileFindAll($sDir, ByRef $sOut, $sExt)
        Local $hSearch = FileFindFirstFile($sDir & '\*.*')
        If $hSearch = -1 Then Return
        While 1
                Local $sFile = FileFindNextFile($hSearch)
                If @error Then ExitLoop
                If @extended Then
                        _FileFindAll($sDir & '\' & $sFile, $sOut, $sExt)
                        ContinueLoop
                EndIf
                If StringRight($sFile, 4) = $sExt Then $sOut &= $sDir & '\' & $sFile & @CRLF
        WEnd
        FileClose($hSearch)
EndFunc   ;==>_FileFindAll

魔导 发表于 2013-3-13 22:28:08

回复 4# afan


   多谢A 大   问题已解决。多谢多谢
页: [1]
查看完整版本: 复制某个目录下的所有 Jpg (包括子目录)[已解决]