Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как создать архив в JS? (https://javascript.ru/forum/misc/2718-kak-sozdat-arkhiv-v-js.html)

Iron_Mind 04.02.2009 22:39

Уточнение))
 
Цитата:

Сообщение от Gvozd (Сообщение 12045)
x-yuri,
именно поэтому ИЕ такой небезопасный)))
к WSH на нормальном уровне безопасности из осла доступа нет.
мне кажется сейчас в осле нельзя получить доступ к сторонним объектам через COM, при нормальном уровне безопасности.
в любом случае даже при разрешении всего выше головы не прыгнеш, и кроме того, что можно сделать в WSH из браузера не сделать.
так что использование этого решения не кросплатформенно.
А вообще, где топик-стартер?
Iron_Mind, скажите нам что вас конкретно надо сделать, и возможно тчо-то удастся сжделать.а возможно и нет

Ребята,спасибо за активную помощь! Так вот: просто что бы по запуску даблкликом по файлу 1.js он выполнил архивацию какого либо файла или папкии положил созданный архив в указанное место. В WinXp. Только и делов))

x-yuri 04.02.2009 22:43

это можно сделать средствами WSH. Единственная проблема, это как указать что надо архивировать и куда записывать. Это можно указать в командной строке.

Если же эти параметры фиксированы, то проблем не вижу. Правда для этого и cmd можно воспользоваться

Iron_Mind 04.02.2009 23:06

Еще уточнение)
 
Цитата:

Сообщение от x-yuri (Сообщение 12077)
это можно сделать средствами WSH. Единственная проблема, это как указать что надо архивировать и куда записывать. Это можно указать в командной строке.

Если же эти параметры фиксированы, то проблем не вижу. Правда для этого и cmd можно воспользоваться


А если надо запускать скрипт на разных компах, но на них всех 100% в определенном месте лежит нужная папка. Вот её то и надо в архив. Именно так чтобы принести или отправить скрипт, там запустят и создается архив в нужном месте. Такова точная тех.задача. Я просто новичок в JS, а сделать хочется))

Олег 04.02.2009 23:25

А насколько медленней работает js относительно исполняемых файлов не думали ?
Для простых файлов может и сработает, в виникспи есть еще html приложения (знатоки поправят как они точно называются, с помощью них иногда автораны для cd делают), они тоже на js пишутся, там как раз вроде есть классы для работы с файловой системой.
Самый простой путь написать архиватор - найти в сети уже написанные архиватор на php и используя файл php.js (есть такой в сети - там написаны функции,выполняемые php на js ) переделать его на js.

x-yuri 04.02.2009 23:27

почему бы средствами командной строки не обойтись? Ведь все равно к ней сведется? - создать cmd-файл
в cmd-файле это будет просто запуск архиватора с нужными ключами, на js будет то же самое + пара лишних команд

Kolyaj 04.02.2009 23:31

Олег,
Цитата:

Сообщение от Олег
А насколько медленней работает js относительно исполняемых файлов не думали ?

Цитата:

Сообщение от Олег
Самый простой путь написать архиватор - найти в сети уже написанные архиватор на php и используя файл php.js (есть такой в сети - там написаны функции,выполняемые php на js ) переделать его на js.

Это будет еще медленней.

Iron_Mind 04.02.2009 23:36

Цитата:

Сообщение от x-yuri (Сообщение 12082)
почему бы средствами командной строки не обойтись? Ведь все равно к ней сведется? - создать cmd-файл
в cmd-файле это будет просто запуск архиватора с нужными ключами, на js будет то же самое + пара лишних команд


У этого скрипта архивация - лишь первая часть, вторая часть например отправка этого архива или копирование и т.п. Вот в чем суть.. Вторая часть есть, осталось сделать арх. В принципе добавить больше нечего.

Gvozd 04.02.2009 23:43

предположу что на каждом из компьютеров установлен WInRAR.(мне неизветсны методы создания архивов средствами JS)
создайте файл с расширением *.bat
в нем запишите строчку
Код:

"C:\Program Files\WinRAR\rar" a C:\Downloads\1.rar C:\Downloads
где C:\Program Files\WinRAR\rar - путь к фрхиватору WinRar
C:\Downloads\1.rar - путь к создаваемому архиву
C:\Downloads - архивируемая папка.
каждый из путей, в котором есть пробелы(как у меня Program Files) надо записывать в двойных кавычках.

Двойной щелчок по получившемуся файлу откроет окно консоли, и после завершения процесса архивации завкроет.
Вуаля,JS для такой формы решения вашей задачи оказался не нужен.
JS может понадобится только, если вам НИ В КОЕМ случае нельзя выкидывать окно консоли, либо вам нужно некоторые параметры настраивать по мере выполнения(например пути), либо эта функция будет реализована в рамках другого кода на JS заточенного под WSH.
Вот решение этой же задачи в аналогичном виде на JS
var WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.Run('"C:\\Program Files\\WinRAR\\rar" a C:\\Downloads\\1.rar C:\\Downloads',0);

Коментарии те же, только добавляю что каждый символ \ надо экранировать(писать два раза вместо одного)

Iron_Mind 05.02.2009 00:00

Благодарность
 
Большое спасибо за ответы и терпение! )) Буду пробовать. Но у меня смутные чувства что я еще обращусь за советом)) Всего хорошего!

x-yuri 05.02.2009 00:02

Цитата:

У этого скрипта архивация - лишь первая часть, вторая часть например отправка этого архива или копирование и т.п. Вот в чем суть.. Вторая часть есть, осталось сделать арх. В принципе добавить больше нечего.
вторая часть не подразумевает выполнение в браузере?
Если все сделано в WSH, то можно в нем же и продолжать


Часовой пояс GMT +3, время: 09:40.