PDA

Показать полную графическую версию : Поиск файлов по маске, дате и времени


nibble74
01-09-2017, 02:03
Хотелось бы реализовать командный сценарий в 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
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
Спасибо Iska, супер :happy:




© OSzone.net 2001-2012