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

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

foxbat 04-02-2009 16:04 1029236

datecreated - формат вывода, непонятки
 
Добрый час ! У меня такая задача, автоматизировать периодическое копирование файлов с удалённой машины, файлы должны именоваться датой, т.е. файлы будут добавляться, а не перезаписываться. Дату для названия я решил брать из свойств копируемого файла - его дату создания. Опыта скрипто писания пока мало, поэтому вопрос такой. Если к переменно targetpath я добавляю строковую константу "e:\\" то формат даты отображается не так как если бы без неё. Почему ? Как из возврата datecreated "изьять" только дату, месяц и год ?

var fso = WScript.CreateObject("scripting.filesystemobject");
var file = fso.getfile("c:\copy_with_add.js");
WScript.Echo(file.DateCreated);
var targetpath="e:\\"+file.datecreated;
WScript.Echo(targetpath);
//fso.copyfile("c:\copy_with_add.js",targetpath);


C:\>cscript //nologo copy_with_add.j
04.02.2009 13:22:25
e:\Wed Feb 4 13:22:25 UTC+0300 2009

Petya V4sechkin 04-02-2009 17:47 1029357

foxbat, как-то так:
Код:

var fso = WScript.CreateObject("scripting.filesystemobject");
var file = fso.getfile("c:\copy_with_add.js");
WScript.Echo(file.DateCreated);
var d = new Date(file.datecreated);
var targetpath = "e:\\" + d.getYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
WScript.Echo(targetpath);


foxbat 05-02-2009 08:49 1029913

понятно, спасибо, а почему к месяцу единицу прибавляем ? там с нуля отчёт идёт ? и всё таки почему в моём примере формат даты выводился по разному ? это зависит от контекста, т.е. если выводим дату вместе со строковой константой то она в виде текста обрабатывается (Wed Feb 4 13:22:25 UTC+0300 2009) ? а если только одну дату выводим то какой то другой формат даты 04.02.2009 13:22:25..

Petya V4sechkin 05-02-2009 09:12 1029922

Цитата:

Цитата foxbat
а почему к месяцу единицу прибавляем ? там с нуля отчёт идёт ?

Метод getMonth
Цитата:

Цитата MSDN
Метод getMonth возвращает целое число в диапазоне от 0 до 11, которое указывает значение месяца из объекта Date. Возвращаемое целое число не является традиционным номером месяца. Оно на единицу меньше.

Цитата:

Цитата foxbat
и всё таки почему в моём примере формат даты выводился по разному ?

Ну, по-разному выполняется преобразование типов при выводе даты и конкатенации строки с датой. Все вопросы к биллу гейтсу.

foxbat 05-02-2009 09:36 1029937

Цитата:

Цитата Petya V4sechkin
Ну, по-разному выполняется преобразование типов при выводе даты и конкатенации строки с датой. Все вопросы к биллу гейтсу. »

Спасибо ! Понятно. Вечером поговорю с Биллом :)


Время: 16:35.

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