Что нового

запуск файла по маске расширения и времени создания ( скаченное видео

endpoints

Новичок
Сообщения
26
Репутация
0
Подскажите,пожалуйста, код который запускает самый последний по дате создания видео файл
нужно чтобы сразу запускался фильм из папки у которого самая свежая дата создания
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Пробуйте так :
Код:
#include <File.au3>
#include <array.au3>

$sPath = @ScriptDir & '\Folder';Папка с файлами
$sFileType = '*.wmv';Расширение файлов для поиска
;поиск файлов в папке
$aFile = _FileListToArray($sPath, $sFileType, 1)
;выбор файла с самой позжей датой создания
If Not @error Then
	$LastDate = 0
	$LastFileName = ''
	For $i = 1 To $aFile[0]
		$Date = FileGetTime($sPath & '\' & $aFile[$i], 1, 1)
		If $Date > $LastDate Then
			$LastDate = $Date
			$LastFileName = $aFile[$i]
		EndIf
	Next
	ShellExecute($sPath & '\' & $LastFileName);Запуск последнего файла
EndIf
 
Автор
E

endpoints

Новичок
Сообщения
26
Репутация
0
Подскажите,пожалуйста, а как указать произвольную директорию а не папку в которой срипт ?
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Укажите полный путь к этой директории, Например :"C:\Users\Public\Videos\Sample Videos"
 
Автор
E

endpoints

Новичок
Сообщения
26
Репутация
0
Работает! А включить подпапки можно? чтобы учитывались не только файлы из указанной папки, но и файлы ее подпапок
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Можно, но нужно дописать перебор папок и поиск файлов по каждой из них.
Глубина вложения какая ?
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Пробуйте так :
Код:
#include <File.au3>
#include <array.au3>

Global $sPath = 'C:\Users\Public\Videos' ;Папка с файлами
Global $sFileType = '*.wmv' ;Расширение файлов для поиска
Global $LastDate = 0
Global $LastFileName = ''
Global $LastFolder = ''
;Поиск файлов в корневой директории
_LastFile($sPath)
;поиск вложеных папок
$AllFolder = _FileListToArray($sPath, Default, 2)
If Not @error Then
	For $i = 1 To $AllFolder[0]
		_LastFile($sPath&'\'&$AllFolder[$i])
	Next
EndIf

ShellExecute($LastFolder & '\' & $LastFileName) ;Запуск последнего файла

Func _LastFile($sNewPath)
	;поиск файлов в папке
	$aFile = _FileListToArray($sNewPath, $sFileType, 1)
	;выбор файла с самой позжей датой создания
	If Not @error Then
		For $i = 1 To $aFile[0]
			$Date = FileGetTime($sNewPath & '\' & $aFile[$i], 1, 1)
			If $Date > $LastDate Then
				$LastDate = $Date
				$LastFileName = $aFile[$i]
				$LastFolder = $sNewPath
			EndIf
		Next
	EndIf

EndFunc   ;==>_LastFile
 
Автор
E

endpoints

Новичок
Сообщения
26
Репутация
0
не сработало, открывается только файл из указанной папки
даты и расширения проверил,расширения одинаковые и в подпапке более свежий файл
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Да, увидел ошибку,изменил в предыдущем сообщении.
 
Верх