Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Пару вопросов по JScript+FSO
 
 автор: webmonster   (03.09.2006 в 20:51)   письмо автору
 
 

Помогите пожалуста, вот неработает код: (файл называеться "file.js")

var file, folder, fso, per;
file = 'file.js';
folder = 'C:\\Documents and Settings\\Усер нейм\\Рабочий стол\\Папка';
fso = new ActiveXObject('Scripting.FileSystemObject');
per = fso.GetFile(file); 
per.Copy(folder+'\\'+file.Name); 

Он копирует, но в папке файл называеться уже не file.js, а undefined...
Что делать? Помогите, мне срочно надо...

   
 
 автор: RMW   (03.09.2006 в 21:01)   письмо автору
 
   для: webmonster   (03.09.2006 в 20:51)
 

per.Copy(folder+'\\'+per.Name);

   
 
 автор: webmonster   (03.09.2006 в 21:29)   письмо автору
 
   для: RMW   (03.09.2006 в 21:01)
 

Спасибо!!!

   
 
 автор: ExtraBrain   (03.09.2006 в 21:45)   письмо автору
 
   для: webmonster   (03.09.2006 в 20:51)
 

А если не так
per.Copy(folder+'\\'+file.Name);

а вот так ?

per.Copy(folder+'\\'+file);

   
 
 автор: webmonster   (03.09.2006 в 21:58)   письмо автору
 
   для: ExtraBrain   (03.09.2006 в 21:45)
 

Ой, у меня ещё два вопроса:
Зачем нужно писать вот так???

per.Copy(folder+'\\'+file.Name); 

И ещё..
Как сделать паузу в JScript? Тоесть так типа, идёт скрипт, раз! И пауза секунд пять, а потом продолжяеться - ТАКОЕ возможно???

   
 
 автор: RMW   (03.09.2006 в 22:29)   письмо автору
 
   для: webmonster   (03.09.2006 в 21:58)
 

1. Если используешь метод Copy то в качестве аргумента
нужно указать полный путь по которому файл должен быть копирован,
путь должен содержать имя и расширение файла.
например myFileObject.Copy('C:\\myFile.txt');
Если до копирования он назывался как-то по-другому,
то после будет называться " myFile.txt " .
Name - это свойство объекта файла, возвращает имя
файла с расширением.

2. Смотря под каким хостом запускается скрипт,
если под IE, то наверное остаются только
setInterval() и setTimeout(),
если под WSH (скрипт сохраняешь в файле с расширением js
для запуска просто щёкаешь по иконке файла) - то можно
написать WScript.Sleep(5000);

   
 
 автор: webmonster   (04.09.2006 в 14:52)   письмо автору
 
   для: RMW   (03.09.2006 в 22:29)
 

А можно-ли зделать, что-бы при удалении какого-то файла, сразу выполнялась функция?
И последний вопрос: В FSO можно переименововать файлы?
Спасибо!

   
 
 автор: RMW   (04.09.2006 в 15:23)   письмо автору
 
   для: webmonster   (04.09.2006 в 14:52)
 

Первый вопрос не понял.
По второму вопросу:

var fso = new ActiveXObject('Scripting.FileSystemObject');
var myFile = fso.GetFile('C:\\Моя папка\\file.js');
myFile.Name = 'Новое имя.js';

   
 
 автор: webmonster   (04.09.2006 в 19:31)   письмо автору
 
   для: RMW   (04.09.2006 в 15:23)
 

Смысл первого вопроса в том, что например, есть два файловых скрипта *.JS(или скриптовых файла, я не знаю точно:)),
№1 и №2(копия), если удалить копию, то файл №1 опять скопирует себя и файл №2 опять появиться.
Или что-бы при удалении файла №2, в файле №1, активировалась функция которая опять-таки скопирует файл №1?
Такое возможно???
А за второй ответ "СПАСИБО!!!"!!!

   
 
 автор: RMW   (04.09.2006 в 20:54)   письмо автору
 
   для: webmonster   (04.09.2006 в 19:31)
 

Кажись понял, нет наверно как ты хочешь нельзя
сделать, но можно сделать чтобы скрипт в цикле переодически
проверял существование файла и в случае его отсутствия создавал.
Пример: файл копирует сам себя в папку C:\\ и каждые 5сек. проверяет
наличие файла, и в случае удаления оного вновь копирует.

var fso = new ActiveXObject('Scripting.FileSystemObject'); 
var myFile = fso.GetFile(WScript.ScriptFullName);

while(true)
{
  if(!fso.FileExists('C:\\' + myFile.Name))
  { 
    myFile.Copy('C:\\' + myFile.Name);
  }
  WScript.Sleep(5000);
}

   
 
 автор: webmonster   (04.09.2006 в 21:17)   письмо автору
 
   для: RMW   (04.09.2006 в 20:54)
 

Спасибо чувак! Ты непредставляешь как ты меня выручил!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования