Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Eugen
Зарегистрирован: 07.10.2003 Сообщения: 18
|
Добавлено: Вт Май 31 2005 10:27 Заголовок сообщения: Помогите найти ошибку в скрипте |
|
|
Начинаю изучение WSH.
Вот первый скрипт собственного сочинения.
Назначение: удалять файлы старше заданного количества дней из заданного каталога. Все данные передаются в параметрах.
var cPath=WScript.Arguments(0), nDays=WScript.Arguments(1);
var fso = new ActiveXObject("Scripting.FileSystemObject");
var ofolder=fso.GetFolder(cPath);
var enumFiles= new Enumerator(ofolder.Files);
for(;!enumFiles.atEnd();enumFiles.moveNext())
{
var ofile=enumFiles.item();
if(DateDiff("d",Date(),ofile.DateCreated)>nDays)
{
//WScript.Echo(ofile.Name);
ofile.Copy("C:\\1\\"+ofile.Name);
}
}
В выделенной строке возникает ошибка: Предполагается наличие объекта!!!
Подскажите что за ерунда. Функцию DateDiff использую один в один как написано в помощи. |
|
Вернуться к началу |
|
|
4u3u
Зарегистрирован: 24.01.2003 Сообщения: 997 Откуда: Moscow
|
Добавлено: Вт Май 31 2005 11:14 Заголовок сообщения: |
|
|
К сожалению, не слиен в jscript, если бы был vbscript...
Но общие принципы отлова багов одинаковы. Для начала задай перед местом, где у тебя ошибка, вывод на экран параметров, используемых в конструкции if, чтобы определить, в каком именно ошибка. Возможно, Date без скобок нужно писать (по крайней мере в vbscript так) или к объекту файла неверно обращаешься. |
|
Вернуться к началу |
|
|
Eugen
Зарегистрирован: 07.10.2003 Сообщения: 18
|
Добавлено: Ср Июн 01 2005 05:34 Заголовок сообщения: |
|
|
Похоже я понял в чем дело. DateDiff функция VBScript поэтому в JScript не работает.
Два языка описаны в одной документации вот и путаница. |
|
Вернуться к началу |
|
|
|