1 (изменено: ravencrow, 2024-02-08 15:14:04)

Тема: WSH,VBS,JS: Отбирать только файлы с текущей датой создания

Нужно отбирать только файлы с текущей датой создания, т.е. файл созданный в день когда запускается скрипт. Есть функция которая ищет файлы согласно заданной маске (маска задается в виде регулярного выражения) если таковой файл находится в заданной папке, то функция вернет его полное имя, иначе — пустую строку.


function GetFileName(strPath2File, strFileSpec)
{
//создаем объект FileSystemObject
var fso = new ActiveXObject("Scripting.FileSystemObject");

//создаем объект RegExp
var regexFileName= new RegExp (strFileSpec,"i");

//получаем объект — целевую папку
var objFolder = fso.GetFolder(strPath2File);

//получаем коллекцию файлов в целевой папке
var colFiles = new Enumerator (objFolder.Files);
var strFileName="";

//перебираем все файлы в коллекции
for(;!colFiles.atEnd();colFiles.moveNext()) {

//проверяем соответствие текущего файла заданному шаблону
if (regexFileName.test(colFiles.item().Name)) {
strFileName=colFiles.item();
}
}
return(strFileName);
}
}

Если добавить в условие проверки соответствие текущего файла заданному шаблону еще и проверку на то, что дата создания файла соответствует текущей системной дате это сработает?

if (regexFileName.test(colFiles.item().Name) && (colFiles.item().DateCreated==date.toDateString())

Или это не нужно, так как при переборе файлов в цикле for(;!colFiles.atEnd();colFiles.moveNext()) все равно будет браться последний созданный файл?