Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Поиск файлов по маске, дате и времени (http://forum.oszone.net/showthread.php?t=329454)

nibble74 01-09-2017 02:03 2761776

Поиск файлов по маске, дате и времени
 
Хотелось бы реализовать командный сценарий в AutoIt поиск по дате и времени.
в переменной %%I получаем самый новый файл

Код:

Switch @OSArch
    Case "X86"
        Global $xOS = "_"
    Case "X64"
        Global $xOS = "_x64_"
EndSwitch

; тут начинается поиск и имя файла имеет такой вид
: PP_P*произвольный набор цифр.exe
: PP_x64_P*произвольный набор цифр.exe

for /f "delims=|" %%I in ('dir "PP%xOS%P*.exe" /b /o:d') do set New=%%I

; далее запуск нового файла
ShellExecuteWait($New, "", @ScriptDir, "open")

Помогите реализовать.

Iska 01-09-2017 09:59 2761814

Код:

AutoItSetOption("MustDeclareVars", 1)

Local $oFSO = ObjCreate("Scripting.FileSystemObject")
Local $oFile
Local $dtDateTime
Local $sCurrFileName


Switch @OSArch
    Case "X86"
        Global $xOS = "_"
    Case "X64"
        Global $xOS = "_x64_"
EndSwitch

$dtDateTime = "19700101010101"
$sCurrFileName = ""

For $oFile In $oFSO.GetFolder(".").Files
        If StringRegExp($oFile.Name, "PP" & $xOS & "P\d+\.exe") = 1 Then
                If StringCompare($oFile.DateLastModified, $dtDateTime) > 0 Then
                        $dtDateTime = $oFile.DateLastModified
                        $sCurrFileName = $oFile.Name
                EndIf
        EndIf
Next

ConsoleWrite($sCurrFileName & @TAB & $dtDateTime & @CRLF)

Exit(0)


nibble74 01-09-2017 17:31 2761924

Спасибо Iska, супер :happy:


Время: 08:10.

Время: 08:10.
© OSzone.net 2001-