Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Работа с файлами/директориями на клиентском JS (kosyak)
Author Message
kosyak
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon Nov 08, 2004 9:57 pm ()
   Post subject: Работа с файлами/директориями на клиентском JS
Reply with quote

Здравствуйте!
Как создать текстовый файл на локальной машине прочитал по адресу www.frnet.narod.ru/ Вроде бы ясно.
Но:
1) как скопировать файл с одного диска(директории) на другой? Т.е есть форма с полем <input type="file" name="UserFile"> - выбыр файла, и поле <input type="text" name="newUserFile"> - куда копировать.
2) Как проверить наличии определённого файла?
3) Как создать директорию?



Заранее благодарен.
Back to top
Enilatiar
Участник форума



Joined: 09 Jun 2003
Posts: 690
Карма: 24
   поощрить/наказать


PostPosted: Mon Nov 08, 2004 10:41 pm (спустя 43 минуты; написано за 1 минуту 43 секунды)
   Post subject:
Reply with quote

kosyak wrote:
Как создать текстовый файл на локальной машине прочитал по адресу www.frnet.narod.ru/ Вроде бы ясно.
А странно. При правильной настройке безопасности броузера - это невозможно.

1) JS не поддерживается.
2) Смотрите хакерские сайты, может быт что-нибудь найдете.
3) JS не поддерживается.
Back to top
View user's profile Send private message
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6840
Карма: 131
   поощрить/наказать


PostPosted: Mon Nov 08, 2004 10:44 pm (спустя 3 минуты; написано за 1 минуту 48 секунд)
   Post subject:
Reply with quote

kosyak:
Стандартными средствами JS сие невозможно. VBS позволяет, как мне помнится, даже к реестру обращаться, но это всё дело будет заблокировано браузером.

Можно ещё с помощью ActiveX попробовать — но от тоже IE блокируется в большинстве нормальных случаев. Безопасность, однако.
Back to top
View user's profile Send private message Send e-mail
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Tue Nov 09, 2004 7:16 am (спустя 8 часов 32 минуты; написано за 2 минуты 31 секунду)
   Post subject:
Reply with quote

kosyak:
Enilatiar wrote:
1) JS не поддерживается.
2) Смотрите хакерские сайты, может быт что-нибудь найдете.
3) JS не поддерживается
можно реализовать - смотрите в сторону JScript, HTML Applications
Антон прав - это ActiveX

сохранить с расширением HTA
Code (html): скопировать код в буфер обмена
<html> (december.com/html/4/element/html.html)
<body> (december.com/html/4/element/body.html)
<script> (december.com/html/4/element/script.html)

var fso = new ActiveXObject("Scripting.FileSystemObject");

var folderName = "C:\\";
var f = fso.GetFolder(folderName);
var files = f.Files;

var fc = new Enumerator(files);
var s = "<B> (december.com/html/4/element/b.html)</B><BR> (december.com/html/4/element/br.html)";
for ( ; !fc.atEnd(); fc.moveNext()) {
    s += fc.item() + "<BR (december.com/html/4/element/br.html) /> (december.com/html/4/element/.html)"
}

document.writeln(s);

</script>
</body>
</html>
пример использования автоматическое переименование группы файлов (forum.dklab.ru/other/all/AutomaticRenamingOfGroupOfFiles.html)

Last edited by Rumata on Sat Nov 20, 2004 8:31 am; edited 1 time in total
Back to top
View user's profile Send private message
Enilatiar
Участник форума



Joined: 09 Jun 2003
Posts: 690
Карма: 24
   поощрить/наказать


PostPosted: Tue Nov 09, 2004 5:50 pm (спустя 10 часов 33 минуты; написано за 2 минуты 36 секунд)
   Post subject:
Reply with quote

Rumata:
Windows Script Host действительно мощное средство, эдаким я могу и процессами в локальной сети управлять без особого труда. Вот только покажите мне пример, как это будет работать, если запусать не с локальной машины, а из интернета.
Quote:
Windows Script Host (WSH) is a scripting host for ActiveX Scripting Engines such as PerlScript. As a host, WSH enables you to use the scripting language from the command-line and from within the Windows desktop with the WSH features.
Code (xml): скопировать код в буфер обмена
<Job ID="HelloWorld">
<script language=PerlScript>
    $WScript->Echo("Hello World!");
</script>
</Job>
Back to top
View user's profile Send private message
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Wed Nov 10, 2004 10:45 am (спустя 16 часов 54 минуты; написано за 1 минуту 54 секунды)
   Post subject:
Reply with quote

Enilatiar:
а разве речь идет об интернете?
если да - то я приношу извинения.
однако автора поста интересует файловые манипуляции в пределах локальной машины
Back to top
View user's profile Send private message
dimchik
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu Nov 11, 2004 5:22 pm (спустя 1 день 6 часов 37 минут)
   Post subject:
Reply with quote

Здравствуйте!
У меня подобная задача, как и у Кости:
По порядку. О каждом члене группы, одной организации, необходимо собрать информацию. Предположил следующее: должна быть программа, работа которой, должна заключаться в том, чтобы из представленной формы( поля для ввода информации) эта самая информация записалась в файл. Структура такого файла должна быть одинакова для всех. Затем эту информацию загоняю в базу данных (с этим я справлюсь). Так вот, на чём реализовать эту форму, чтобы она работала на всех машинах (ОС не ниже вин98)? Для меня ограничивается всё только вэбом (с другим я просто не знаком, и нет времени особо). Предложенные выше ссылки для реализации записи в файл не совсем подходят, вылетает назойливое окно, в котором подтверждаем выполнение скрипта, не могу определить абсолютный путь расположения скрипта, указав
Code (any language): скопировать код в буфер обмена
.\\
Инициализирует это как корень системного диска.

Краем уха слышал о Windows Script Host. Что это такое? А что делают файлы с расширением HTA?

Может у кого-то уже есть готовая реализация задуманного, не поделитесь/подскажите ?
Заранее благодарен
Back to top
Enilatiar
Участник форума



Joined: 09 Jun 2003
Posts: 690
Карма: 24
   поощрить/наказать


PostPosted: Thu Nov 11, 2004 6:15 pm (спустя 52 минуты; написано за 2 минуты 30 секунд)
   Post subject:
Reply with quote

dimchik:
А зачем Вам локальные файлы?
Вы все собираете на компьютере, где располагается www-сервер, средставами php, perl или какими угодно другими.
Доступ к анкете через броузер на любой машине сети.
Back to top
View user's profile Send private message
dimchik
Guest





Карма: 388
   поощрить/наказать


PostPosted: Fri Nov 12, 2004 7:34 pm (спустя 1 день 1 час 19 минут; написано за 1 минуту 33 секунды)
   Post subject:
Reply with quote

Вот именно, что у большинства работников этой организации нет инета, а есть сетевой достун к этому файлу :(
И ещё как создать файл в той же папке, что и сам скрипт (вернее файл со скриптом), если он (файл со скриптом) размещён на сетевом диске? Ручная правка пути не подходит.
Back to top
Enilatiar
Участник форума



Joined: 09 Jun 2003
Posts: 690
Карма: 24
   поощрить/наказать


PostPosted: Fri Nov 12, 2004 8:43 pm (спустя 1 час 8 минут; написано за 2 минуты 28 секунд)
   Post subject:
Reply with quote

dimchik wrote:
у большинства работников этой организации нет инета
Доступ в интернет и не нужен. У каждого пользователя есть броузер. Запускаете на машине www-сервер (грубо говоря - СТАВИТЕ ДЕНВЕР) и все пользователи ломяться броузерами на этот ком. Интернета для этого не нужно.
P.S. Может все-таки попробуете какой-нибудь другой язык? C#, Visual Basic, Delphi?

Напишите здесь задачу, хотя бы кратко.
Back to top
View user's profile Send private message
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6840
Карма: 131
   поощрить/наказать


PostPosted: Fri Nov 12, 2004 10:17 pm (спустя 1 час 34 минуты; написано за 23 секунды)
   Post subject:
Reply with quote

Enilatiar wrote:
P.S. Может все-таки попробуете какой-нибудь другой язык? C#, Visual Basic, Delphi?
Зачем? Можно на Perl написать. Любую задачу.
Back to top
View user's profile Send private message Send e-mail
Vasiliy
Участник форума



Joined: 16 Mar 2004
Posts: 50
Карма: 0
   поощрить/наказать


PostPosted: Wed Jan 12, 2005 7:52 pm (спустя 1 месяц 29 дней 21 час 34 минуты)
   Post subject:
Reply with quote

Откровенно говоря, у самого была такая же задача. Пришёл, вернее выдрал уже из уже готового, к тому, что находится в архиве example.hta.zip. Приводить код не стал, так как ~17кб текста не совсем бы гармонировали. Формат hta выбран не случайно, в силу вытекающих из этого преимуществ, хотя многим они не очевидны.

P.S. Мои познания в JavaScript (JScript) крайне скудны, так, что сильно не пинайте, лучше дайте рекомендации.


example.hta.zip
 Description:
пример использования

Download
 Filename:  example.hta.zip
 Filesize:  5.56 KB
 Downloaded:  488 Time(s)

Back to top
View user's profile Send private message
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Wed Jan 12, 2005 9:13 pm (спустя 1 час 20 минут; написано за 5 минут 33 секунды)
   Post subject:
Reply with quote

рекомендации следующие:
1. не стремитесь к кроссбраузерности - Вы пользуетесь расширенными возможностями JScript
2. модульность - не храните разные вещи в одном файле (окно ввода и help по нему в одном файле)
   лучше сделайте, например, файлы student_info.hta и student_info_help.htm из одно вызывайте другое
   window.openDialog("sudent_info_help.htm", ...) - открыть окно в диалоговом (модальном) режиме
3. все-таки структурируйте свой код, чтобы он был удобочитаем всеми (имеются в виду людьми)
4. много читайте о JScript, WSH, ActiveX

хороший источник информации по JScript, WSH, ActiveX
(forum.dklab.ru/js/other/AGdeMognoPochitatProJavascriptJscript+com.html)
Back to top
View user's profile Send private message
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Wed Jan 12, 2005 9:23 pm (спустя 10 минут; написано за 18 секунд)
   Post subject:
Reply with quote

загляните в эту тему Где почитать про WSH, JScript, VBScript, ActiveX? (forum.dklab.ru/js/other/GdePochitatProWshJscriptVbscriptActivex.html)
Back to top
View user's profile Send private message
Vasiliy
Участник форума



Joined: 16 Mar 2004
Posts: 50
Карма: 0
   поощрить/наказать


PostPosted: Fri Jan 14, 2005 9:37 pm (спустя 2 дня 13 минут)
   Post subject:
Reply with quote

Rumata wrote:
 рекомендации следующие:
1. не стремитесь к кроссбраузерности - Вы пользуетесь расширенными возможностями JScript
А в чём (я имею в виду код) выражена эта кроссбраузерности? Хотя, это наверное привычка.
Rumata wrote:
 2. модульность - не храните разные вещи в одном файле (окно ввода и help по нему в одном файле)
   лучше сделайте, например, файлы student_info.hta и student_info_help.htm из одно вызывайте другое window.openDialog("sudent_info_help.htm", ...) - открыть окно в диалоговом (модальном) режиме
Данный пример, не настолько сложен и функционален, что бы здесь говорить о модульности. Откровенно говоря, я исходил в первую очередь из «удобства использования» — куда более проще старосте или куратору группы таскать ОДИН файл, нежели несколько. Хотя, это, опять же, моё субъективное мнение.
Rumata wrote:
 3. все-таки структурируйте свой код, чтобы он был удобочитаем всеми (имеются в виду людьми)
Повторюсь — выдрал из уже готового. Не было, да собственно, нет и сейчас, свободного времени для внесения изменения, хотя там, как мне кажется, не такая уж и страшная структура .
Back to top
View user's profile Send private message
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Fri Jan 14, 2005 10:01 pm (спустя 23 минуты; написано за 4 минуты 32 секунды)
   Post subject:
Reply with quote

1. кроссбраузерный код - код, который одинаково работает во всех браузерах.
   Вам этого не надо - Вы пишете только для HTA (а это Microsoft Internet Explorer)
2. данный пример есть небольшой кусочек большого приложения. даже этот пример совмещает в себе функциональность двух модулей.
3. любой, даже самый простой код надо стремиться структурировать - это дисциплинирует при написании сложных систем
Vasiliy wrote:
куда более проще старосте или куратору группы таскать ОДИН файл, нежели несколько.
а как же файлы, которые будут сохранены? как минимум уже 2
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML