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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Разархивирование rar архива с заменой и его удаление

Ответить
Настройки темы
CMD/BAT - Разархивирование rar архива с заменой и его удаление

Аватара для DarkDeivel

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


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

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


Всем привет! Поискал по интернету ответ на вопрос, но так не совсем и понял как это реализовать.

Нужен bat файлы при включении которого он разархивировал архив с прописанным в нем названием, заменил файлы если уже существуют и удалил этот архив.

Вот как я начал
Код: Выделить весь код
"%programfiles%\winrar\unrar.exe" x "test.rar" "С:\"
Он разархивирует архив, на диск C:\ а как указать чтобы конкретно в той же директории разархивировал где архив и лежит? Не задал диалогового окна с предложением заменить, а сразу заменял файл и после этого удалил этот архив? Всем спасибо!

Отправлено: 17:47, 28-07-2016

 

Ветеран


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

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


Цитата DarkDeivel:
а как указать чтобы конкретно в той же директории разархивировал где архив и лежит? »
А откуда в приведённом Вами коде можно узнать «где он лежит»?

Цитата DarkDeivel:
заменил файлы если уже существуют и удалил этот архив. »
Читайте справку WinRAR по параметрам командной строки.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:52, 28-07-2016 | #2



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

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


Аватара для DarkDeivel

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


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

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


Разобрался.

Сделал вот так
Код: Выделить весь код
"%programfiles%\winrar\unrar.exe" x -y upd.rar
del upd.rar
Но есть одна проблема и один вопрос.

Проблема: Если я использую этот батник не сам, а через командную строку допустим, тогда папку откуда взять %programfiles% он указывает почему-то с разрядностью x86(Program Files (x86)) и из-за этого ошибка т.к. рар у меня стоит на просто в папке program files т.к. у меня разрядность х64. Если же я запускаю двойным кликом этот батник, тогда путь он сразу берет нужный и скрипт срабатывает. Может быть можно сделать условие, проверку у пользователя систему на разрядность, сделать два пути и в зависимости от разрядности использовать нужный путь, я просто не знаю как еще решить этот вопрос.

Вопрос: Можно ли как-то строчки которые показываются в командном окне оформить? Там показывается путь к unrar и путь к файлу порой не очень красивый, какими то своими строчками прикрыть скрипты можно?

P.S. Win 7 x64

Последний раз редактировалось DarkDeivel, 29-07-2016 в 08:03.


Отправлено: 07:53, 29-07-2016 | #3


Ветеран


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

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


Цитата DarkDeivel:
Сделал вот так »
Лучше так:
Код: Выделить весь код
set sSourceFile=upd.rar
"%programfiles%\winrar\unrar.exe" x -y "%sSourceFile%" && del "%sSourceFile%"
Цитата DarkDeivel:
Если я использую этот батник не сам, а через командную строку допустим, тогда папку откуда взять %programfiles% он указывает почему-то с разрядностью x86(Program Files (x86)) и из-за этого ошибка т.к. рар у меня стоит на просто в папке program files т.к. у меня разрядность х64. Если же я запускаю двойным кликом этот батник, тогда путь он сразу берет нужный и скрипт срабатывает. »
Ищите, отчего Ваша «командную строку допустим» является x86-приложением. Как Вы её запускаете?

Цитата DarkDeivel:
Вопрос: Можно ли как-то строчки которые показываются в командном окне оформить? Там показывается путь к unrar и путь к файлу порой не очень красивый, какими то своими строчками прикрыть скрипты можно? »
Пытался осмыслить, но не смог.

Отправлено: 08:34, 29-07-2016 | #4


Аватара для DarkDeivel

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


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

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


Решил вопрос с разрядностью, а по поводу последнего вопроса, вот допустим использовал я пинг как таймер для выполнения скрипта, но то что написано для юзера не очень то красиво, можно ли заменить например текстом "Подготовка к выполнению..." вот что я имел ввиду, спасибо!


Отправлено: 18:11, 29-07-2016 | #5


Ветеран


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

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


Цитата DarkDeivel:
заменить например текстом "Подготовка к выполнению..." »
В чем проблема-то?
Код: Выделить весь код
@echo off
echo Подготока к выполнению...
ping -n 3 127.0.0.1 >nul
pause
.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:45, 29-07-2016 | #6


Аватара для DarkDeivel

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


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

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


Проблема в том что я этого и не знал, спасибо! Это действительно прикрыло текстом как я хотел, правда вместо русского текста получилась какая-то кракозябра, может где-то кодировка не та стоит, надо покопаться, спасибо!

Отправлено: 04:46, 30-07-2016 | #7


Ветеран


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

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


Цитата DarkDeivel:
правда вместо русского текста получилась какая-то кракозябра, может где-то кодировка не та стоит, надо покопаться, »
Покопайтесь. Кодировка пакетного файла должна быть OEM/866.
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:15, 30-07-2016 | #8


Аватара для DarkDeivel

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


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

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


Сделал, всем спасибо! Здорово всё работает! У меня идет распаковка архива и в окне показывает список файлов которые распаковываются, может быть это тоже можно скрыть и просто показывать процентами процесс распаковки?

А, да кстати, можно сделать чтобы батник распаковывал файлы на директорию выше, как это указать ему?

Пример:
Папка с программой называется folder
Батник хочу спрятать folder\data
Но мне нужно чтобы распаковывал он именно в folder

Последний раз редактировалось DarkDeivel, 30-07-2016 в 08:43.


Отправлено: 08:36, 30-07-2016 | #9


Ветеран


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

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


Цитата DarkDeivel:
У меня идет распаковка архива и в окне показывает список файлов которые распаковываются, может быть это тоже можно скрыть и просто показывать процентами процесс распаковки? »
Это нормально. Если что не так пойдёт — сразу будет видно, на каком файле.

Цитата DarkDeivel:
А, да кстати, можно сделать чтобы батник распаковывал файлы на директорию выше, как это указать ему? »
Можно. Покажите Ваш нынешний итоговый код.

Отправлено: 09:55, 30-07-2016 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Разархивирование rar архива с заменой и его удаление

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Найти папку, архивировать RAR-ом и удалить после архива stm314 Скриптовые языки администрирования Windows 7 07-05-2012 10:03
EventID - ВОССТАНОВЛЕНИЕ RAR-АРХИВА serg_55 Тест-форум 0 19-05-2011 14:20
как вытащить видео из многотомного rar архива phpsql Видео и аудио: обработка и кодирование 2 20-05-2007 21:31
Странное поведение SFX-RAR архива korn68 Наборы обновлений для Windows XP/2003/Windows 7 3 17-12-2006 16:55
Восстановление RAR-архива mdma Хочу все знать 6 25-12-2004 11:00




 
Переход