CMD/BAT - Разархивирование rar архива с заменой и его удаление

Аватара пользователя
DarkDeivel

CMD/BAT - Разархивирование rar архива с заменой и его удаление

Сообщение DarkDeivel »

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



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



Вот как я начал

Код:

Код: Выделить всё

"%programfiles%\winrar\unrar.exe" x "test.rar" "С:\"

Он разархивирует архив, на диск C:\ а как указать чтобы конкретно в той же директории разархивировал где архив и лежит? Не задал диалогового окна с предложением заменить, а сразу заменял файл и после этого удалил этот архив? Всем спасибо!
Аватара пользователя
Iska

Re: CMD/BAT - Разархивирование rar архива с заменой и его удаление

Сообщение Iska »

Цитата DarkDeivel:



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




А откуда в приведённом Вами коде можно узнать «где он лежит»?




Цитата DarkDeivel:



заменил файлы если уже существуют и удалил этот архив.
CMD/BAT - Разархивирование rar архива с заменой и его удаление




Читайте справку WinRAR по параметрам командной строки.
Аватара пользователя
DarkDeivel

Re: CMD/BAT - Разархивирование rar архива с заменой и его удаление

Сообщение DarkDeivel »

Ну я понимаю что это нормально показывать список распакованных файлов, просто у меня батник распаковывает архив с обновлениями для игры и мне хотелось бы пользователя не грузить лишней инфой, а просто показывало "Обновляется...64%" в таком духе.





Код:

Код: Выделить всё

@echo off
@TITLE Updater
set sSourceFile=upd.rar
@echo off
Color 0B
echo -Подготовка к обновлению... 
ping -n 3 127.0.0.1 >nul
@echo off
echo -Обновление
"%programfiles%\winrar\unrar.exe" x -y "%sSourceFile%"
@echo off
echo -Удаление временных файлов
del "%sSourceFile%"
ping -n 2 127.0.0.1 >nul
@echo off
echo -Завершение обновления
start Launcher.exe
Аватара пользователя
DarkDeivel

Re: CMD/BAT - Разархивирование rar архива с заменой и его удаление

Сообщение DarkDeivel »

Цитата DarkDeivel:



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




Лучше так:



Код:

Код: Выделить всё

set sSourceFile=upd.rar
"%programfiles%\winrar\unrar.exe" x -y "%sSourceFile%" && del "%sSourceFile%"


Цитата DarkDeivel:



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




Ищите, отчего Ваша «командную строку допустим» является x86-приложением. Как Вы её запускаете?




Цитата DarkDeivel:



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




Пытался осмыслить, но не смог.
Аватара пользователя
Iska

Re: CMD/BAT - Разархивирование rar архива с заменой и его удаление

Сообщение Iska »

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



Изображение
Аватара пользователя
DarkDeivel

Re: CMD/BAT - Разархивирование rar архива с заменой и его удаление

Сообщение DarkDeivel »

Цитата DarkDeivel:



заменить например текстом "Подготовка к выполнению..."
CMD/BAT - Разархивирование rar архива с заменой и его удаление




В чем проблема-то?



Код:

Код: Выделить всё

@echo off
echo Подготока к выполнению...
ping -n 3 127.0.0.1 >nul
pause

.
Аватара пользователя
alpap

Re: CMD/BAT - Разархивирование rar архива с заменой и его удаление

Сообщение alpap »

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

Re: CMD/BAT - Разархивирование rar архива с заменой и его удаление

Сообщение DarkDeivel »

Цитата DarkDeivel:



правда вместо русского текста получилась какая-то кракозябра, может где-то кодировка не та стоит, надо покопаться,
CMD/BAT - Разархивирование rar архива с заменой и его удаление




Покопайтесь. Кодировка пакетного файла должна быть OEM/866.
Аватара пользователя
Iska

Re: CMD/BAT - Разархивирование rar архива с заменой и его удаление

Сообщение Iska »

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



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



Пример:

Папка с программой называется folder

Батник хочу спрятать folder\data

Но мне нужно чтобы распаковывал он именно в folder
Аватара пользователя
DarkDeivel

Re: CMD/BAT - Разархивирование rar архива с заменой и его удаление

Сообщение DarkDeivel »

Цитата DarkDeivel:



У меня идет распаковка архива и в окне показывает список файлов которые распаковываются, может быть это тоже можно скрыть и просто показывать процентами процесс распаковки?
CMD/BAT - Разархивирование rar архива с заменой и его удаление




Это нормально. Если что не так пойдёт — сразу будет видно, на каком файле.




Цитата DarkDeivel:



А, да кстати, можно сделать чтобы батник распаковывал файлы на директорию выше, как это указать ему?
CMD/BAT - Разархивирование rar архива с заменой и его удаление




Можно. Покажите Ваш нынешний итоговый код.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»