【已解决】请问怎么返回一个文件夹中最新日期的文件的文件名?
本帖最后由 ac5474012 于 2017-4-24 15:52 编辑#Region ;**** 参数创建于 ACNWrapper_GUI ****
#PRE_Res_requestedExecutionLevel=None
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <FileConstants.au3>
Local $lujing1 = IniRead("config.ini", "config", "原路径", "NotFound");原位置
Local $lujing2 = IniRead("config.ini", "config", "目标路径", "NotFound");目标位置
Local $kuozhan= IniRead("config.ini", "config", "扩展名", "NotFound")
Local $hSearch = FileFindFirstFile($lujing1&"\"&$kuozhan)
; 检查搜索是否成功
If $hSearch = -1 Then
;~ MsgBox(4096, "错误", "没有文件/目录 匹配搜索")
Exit
EndIf
$a = 0
While 1
Local $sFile = FileFindNextFile($hSearch)
If @error Then ExitLoop
;~ MsgBox(4096, "找到的文件:", $sFile)
Local $sFileModifiedTime = FileGetTime($lujing1 & '\' & $sFile, 1, 1)
If $a = 0 Then $a = $sFileModifiedTime
If Int($sFileModifiedTime) > Int($a) Then
$a = $sFileModifiedTime
$ming = $sFile
EndIf
WEnd
;~ MsgBox(0,",",$ming)
FileCopy($lujing1&"\"&$ming, $lujing2&"\"&$ming)
; 关闭搜索句柄
FileClose($hSearch)
config.ini 信息:
原路径=I:\服务
目标路径=I:\服务\www
扩展名=*.* 新手觉得,先返回所有文件的日期,对比最新日期的文件,提取文件名。。看看楼下有没有更好的办法 每份文件有三个日期,要说明哪个时间吧.
正确做法当然是:
获取所有文件,然后循环比较时间,只留最新的. 回复 1# ac5474012
這句話怪怪的
请问怎么返回一个文件夹中最新日期的文件的文件名?
一個文件夾中..... 一個文件夾中 同樣的檔名 只會有一個 永遠是最新的一個...
最新日期的文件的文件名............最新的日期 指的是跟哪一天比呢??如果是 自己跟自己比...那又違反了在同個資料夾同檔名只會有一個.... 回复 2# 229989799
返回所有文件的函数忘记了 是否是下面这样
#include <FileConstants.au3>
Local $sDirPath = @ScriptDir & '\BackUp'
MsgBox(0, '', _FindFileLastModified($sDirPath))
Func _FindFileLastModified($sDirPath)
Local $hSearch = FileFindFirstFile($sDirPath & '\*.*')
If $hSearch == -1 Then
MsgBox(0, '', StringFormat('文件夹%s不存在!', $sDirPath))
Return SetError(1, 0, 0)
EndIf
Local $sFileName = '', $sFileLastModified = '', $sFileLastModifiedTime = ''
While 1
$sFileName = FileFindNextFile($hSearch)
If @error Then ExitLoop
Local $sFileModifiedTime = FileGetTime($sDirPath & '\' & $sFileName, $FT_MODIFIED, $FT_STRING)
If Int($sFileModifiedTime) > Int($sFileLastModifiedTime) Then
$sFileLastModified = $sFileName
$sFileLastModifiedTime = $sFileModifiedTime
EndIf
WEnd
FileClose($hSearch)
Return $sFileLastModified
EndFunc ;==>_FindFileLastModified
dir/od 参数 可以按时间排序
页:
[1]