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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Копирование файлов из каталогов и подкаталогов с сохранением структуры подкаталогов (http://forum.oszone.net/showthread.php?t=258342)

spke 10-04-2013 23:58 2130112

Копирование файлов из каталогов и подкаталогов с сохранением структуры подкаталогов
 
Здравствуйте.
Есть следующая задача:
Копировать все файлы, измененные позже определенной даты, из указанного каталога и его подкаталогов в другой каталог с сохранением структуры подкаталогов.

Накидал на .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;
}

Но возникают некоторые проблемы. Во-первых в массиве папок почему-то есть нулевые элементы, проверку на нулевой элемент я сделал, но скрипт все равно отказывается работать.


Время: 14:35.

Время: 14:35.
© OSzone.net 2001-