Здравствуйте.
Есть следующая задача:
Копировать все файлы, измененные позже определенной даты, из указанного каталога и его подкаталогов в другой каталог с сохранением структуры подкаталогов.
Накидал на .js следующий код:
Код:
//var objArgs = WScript.Arguments;
//var Date = objArgs(0);
//var Dir = objArgs(1);
var Dir = "C:\\test"
var Date = 2;
var Mass = new Array();
Mass += AllFolders(Dir)
for (var i=0; i < Mass.length; i++)
{
FolderFiles(Mass[i], 3);
}
// ---------------------------------------------------------------------------
function AllFolders(Dir)
{
var F,Result,Folders;
Result = new Array();
F=WScript.CreateObject("Scripting.FileSystemObject").GetFolder(Dir);
Folders = new Enumerator(F.SubFolders);
for (var i = 0; !Folders.atEnd(); Folders.moveNext(), i++)
{
Result[i] = Dir+"\\"+Folders.item().Name;
Result [i+2] = AllFolders(Dir+"\\"+Folders.item().Name);
}
return Result;
}
function FolderFiles(Dir, Date)
{
var fso,fc,nol;
if (Dir != nol)
{
WScript.Echo(Dir);
fso = new ActiveXObject("Scripting.FileSystemObject").GetFolder(Dir);
fc = new Enumerator(fso.files);
for (; !fc.atEnd(); fc.moveNext())
{
//if (fc.item().DateLastModified > Date)
fc.item().Copy("C:\\log\fso.Add(Dir)");
WScript.Echo(fc.item());
//else return;
}
}
return 0;
}
Но возникают некоторые проблемы. Во-первых в массиве папок почему-то есть нулевые элементы, проверку на нулевой элемент я сделал, но скрипт все равно отказывается работать.