Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] JS и WinRar

Ответить
Настройки темы
VBS/WSH/JS - [решено] JS и WinRar

Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: ProofNah
Дата: 16-10-2009
Подскажите пожалуйста, как можно используя JS и WinRar разархивировать файл?
Пытался использовать методы run и exec, но ни чего стоящего не получилось. Я так понимаю, что нужно запустить консоль и внутри прописать необходимые данные.

Отправлено: 21:37, 16-10-2009

 


Moderator


Сообщения: 53444
Благодарности: 15497

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.Run("WinRAR.exe x имя_архива", 1, true);
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:19, 17-10-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Petya V4sechkin, спасибо.

Использую следующий код, но пишет что архив не найден. Если не использовать переменную, то все разархивируется?!

Код: Выделить весь код
var Variable="d:\\Ar.rar d:\\Work\\";  
var WshShell = WScript.CreateObject("WScript.Shell"); 
WshShell.Run("WinRAR.exe e"+Variable, 1, true);

Отправлено: 13:52, 17-10-2009 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата ProofNah:
пишет что архив не найден »
вставьте пробел между "e" и именем архива (var): "WinRAR.exe e ", иначе получается команда:
Код: Выделить весь код
WinRAR.exe ed:\Ar.rar d:\Work\
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:49, 17-10-2009 | #4


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Благодарствую!!!
Как можно добавить кавычки в пути, а то предстоит использовать полные пути в имени которых встречаются пробелы. Извиняюсь за "такие вопросы", просто везде информация об vbs, мало источников для js.

Например:
Код: Выделить весь код
var Variable="d:\\Ar.rar d:\\Папка для разархивации\\";   
var WshShell = WScript.CreateObject("WScript.Shell");  
WshShell.Run("WinRAR.exe e "+Variable, 1, true);

Отправлено: 15:02, 17-10-2009 | #5


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата ProofNah:
Как можно добавить кавычки в пути»
я не знаток JS, но судя по приведенному коду, экранировать обратным слэшем: \"

Отправлено: 15:08, 17-10-2009 | #6


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата amel27:
я не знаток JS, но судя по приведенному коду, экранировать обратным слэшем: \" »
К сожалению не удалось.

Если использовать апостроф, а затем двойные кавычки, то строка формируется в двойных кавычках, но это не спасает. Т.к. пишется, что архив не найден. Может я что-то делаю не так?
Код: Выделить весь код
var Variable=' "d:\\Ar.rar d:\\Папка для разархивации\\" ';   
var WshShell = WScript.CreateObject("WScript.Shell");  
WshShell.Run("WinRAR.exe e "+Variable, 1, true);
Все получилось. Спасибо всем принявших непосредственное участие в решение моей проблемы. Просто в кавычки нужно было брать каждый путь отдельно.

Код: Выделить весь код
var Variable=' "d:\\Ar.rar" '+" "+' "d:\\Папка для разархивации\\" ';   
var WshShell = WScript.CreateObject("WScript.Shell");  
WshShell.Run("WinRAR.exe e "+Variable, 1, true);

Отправлено: 18:01, 17-10-2009 | #7


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Или так, как советовал amel27:
Код: Выделить весь код
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.Run("\"c:\\Program files\\WinRar\\WinRAR.exe\" e \"C:\\Install\\На разбор\\Boot Images\\Boot Floppy\\HS Feed Diskette 1.5\\_sysdisk15.rar\" \"C:\\Песочница\\31\\\"", 1, true);
Для того, чтобы смотреть, что получается, хорошо пользовать Process Monitor, установив фильтр «Process Create/…Start/…Exit».

Отправлено: 18:33, 17-10-2009 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] JS и WinRar

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Возможноли управлять WinRAR через Autoit? Anarasius AutoIt 1 17-11-2009 14:28
[решено] как закрепить коменты в WinRar Dead Master Хочу все знать 2 09-10-2008 13:05
Драйвер - [решено] Не установить winrar Olga123 Microsoft Windows Vista 7 22-05-2008 22:36
[решено] Самораспаковывающийся архив WinRAR Котяра Хочу все знать 9 22-04-2008 14:52
[решено] Архив WinRAR запароленый Doom TROOPER Защита компьютерных систем 13 12-11-2006 20:08




 
Переход