3 / 3 / 0
Регистрация: 15.10.2018
Сообщений: 225
1

Распаковать архив средствами BAT

21.10.2018, 14:09. Показов 18030. Ответов 33
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уважаемые друзья .
На днях столкнулся с проблемой которую без Вашей помощи никак не решить.

Нужно сделать bat файл примерно так. (Если это конечно возможно)

Есть архив назовём Архив.zip (название всегда одинаковое) его необходимо распаковать в путь D:/111/222 (предворительно создав эти самые папки) . Далее из файла DFG.exe создать ярлык на робочем столе . Затем взять файл logo.ico (находится в той-же папке что и DFG.exe ) и сменить иконку ярлыка, а так-же название ярлыка поменять на DFG (без слова ярлык).
Да чуть не забыл файл Архив.zip находится на рабочем столе.

Очень прошу помогите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.10.2018, 14:09
Ответы с готовыми решениями:

Найти и распаковать архив
Здравствуйте. Спасибо что вчера мне помогли с проблемой распаковки архива при помощи бат-файла....

Распаковать zip архив в ту же папку
необходимо батником распаковать один zip архив. путь к архиву D:\arhiv.zip распаковать его в ту...

Распаковать запароленный архив RAR и запустить программу
Всем приветы. помогите написать батник 1,он должен открыть мой запароленный рар или зип архив...

Скачать RAR-архив с сервера на ПК и распаковать его
Подскажите решение! есть архив на сайте находящийся в http://мойдомен.ру/некаяпапка/архим.rar...

33
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,112
21.10.2018, 18:12 2
Цитата Сообщение от shadow_2 Посмотреть сообщение
Если это конечно возможно
Если чисто (без гибридизации и средствами из коробки), то только на других языках: vbs/js/ps1.
1
141 / 110 / 30
Регистрация: 20.04.2011
Сообщений: 581
21.10.2018, 18:14 3
Вызвать с нужными параметрами 7zip, WinRar и т.п.
1
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,112
21.10.2018, 18:55 4
AlexP11223, угу, и nircmd вдобавок. Т.е. уже как минимум две утилиты, когда можно обойтись и без них...
0
Модератор
Эксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
7422 / 4176 / 525
Регистрация: 13.03.2013
Сообщений: 15,240
Записей в блоге: 14
22.10.2018, 11:59 5
Цитата Сообщение от FlasherX Посмотреть сообщение
угу, и nircmd вдобавок. Т.е. уже как минимум две утилиты, когда можно обойтись и без них...
И что? У архиваторов 7zip и WinRar есть консольные версии, которые могут не только распаковывать архивы, но и архивировать, например, бэкапы, сжимая их в 2-3 раза.

shadow_2, батник на разархивирование будет примерно таким:

Для WinRar
Windows Batch file
1
2
3
@echo off
chcp 1251
"C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK %userprofile%\Desktop\Архив.zip.rar %userprofile%\Desktop
Для 7Zip
Windows Batch file
1
2
3
@echo off
chcp 1251
"C:\Program Files\7-Zip\7z.exe" x -O+ -IBCK %userprofile%\Desktop\Архив.zip.rar %userprofile%\Desktop
По остальным вопросам создавайте отдельные темы, т.к. согласно правилам форума
5.16 Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
1
141 / 110 / 30
Регистрация: 20.04.2011
Сообщений: 581
22.10.2018, 12:03 6
Цитата Сообщение от Maks Посмотреть сообщение
У архиваторов 7zip и WinRar есть консольные версии
Ну их может вообще не быть на компе. Или не в Program Files.
Но 7z вроде самый простой вариант если надо таскать с собой, там можно взять один 7za.exe
0
Модератор
Эксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
7422 / 4176 / 525
Регистрация: 13.03.2013
Сообщений: 15,240
Записей в блоге: 14
22.10.2018, 13:11 7
Цитата Сообщение от AlexP11223 Посмотреть сообщение
Или не в Program Files
А где тогда?
Даже в 64-битной ОСи архиватор ставится в "Program Files", а не "Program Files (x86)".
Цитата Сообщение от AlexP11223 Посмотреть сообщение
7za.exe
Это еще что за зверь?
У крайних версий 7Zip консольный файл называется 7z.exe
7za.exe - нет такого.
Кликните здесь для просмотра всего текста
Распаковать архив средствами BAT

Цитата Сообщение от AlexP11223 Посмотреть сообщение
Но 7z вроде самый простой вариант если надо таскать с собой
Для чего, если данный архиватор бесплатный?
Да и консольный файл от WinRar также можно таскать с собой.
0
141 / 110 / 30
Регистрация: 20.04.2011
Сообщений: 581
22.10.2018, 13:23 8
Цитата Сообщение от Maks Посмотреть сообщение
А где тогда?
Некоторые ставят все что можно не на С.
Цитата Сообщение от Maks Посмотреть сообщение
Даже в 64-битной ОСи архиватор ставится в "Program Files", а не "Program Files (x86)".
Если случайно поставить х86 версию, то вряд ли.
Цитата Сообщение от Maks Посмотреть сообщение
Для чего, если данный архиватор бесплатный?
Чтоб не ставить и не гадать что стоит.
Цитата Сообщение от Maks Посмотреть сообщение
Это еще что за зверь?
У крайних версий 7Zip консольный файл называется 7z.exe
7za.exe - нет такого.
хм, раньше вроде был.

https://www.7-zip.org/faq.html
How can I add support for 7z archives to my application?

One way is to use the 7z.dll or 7za.dll (available from sf.net for download). The 7za.dll works via COM interfaces. ...

The other way is to call the command line version: 7za.exe.
https://sevenzip.osdn.jp/chm/cmdline/
7z.exe is the command line version of 7-Zip. 7z.exe uses 7z.dll from the 7-Zip package. 7z.dll is used by the 7-Zip File Manager also.

7za.exe (a = alone) is a standalone version of 7-Zip. 7za.exe supports only 7z, lzma, cab, zip, gzip, bzip2, Z and tar formats. 7za.exe doesn't use external modules.
0
Модератор
Эксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
7422 / 4176 / 525
Регистрация: 13.03.2013
Сообщений: 15,240
Записей в блоге: 14
22.10.2018, 14:29 9
Цитата Сообщение от AlexP11223 Посмотреть сообщение
Некоторые ставят все что можно не на С.
Цитата Сообщение от AlexP11223 Посмотреть сообщение
Если случайно поставить х86 версию, то вряд ли.
Ваше то какое дело? ТС об этом что-то сказал?
Цитата Сообщение от AlexP11223 Посмотреть сообщение
Чтоб не ставить и не гадать что стоит.
Будут вопросы, будем отвечать автору темы, но не Вам (увы).
Цитата Сообщение от AlexP11223 Посмотреть сообщение
хм, раньше вроде был.
Я Вам показал скриншот корневой папки с установленным 7Zip последней версии и никакого 7za.exe там нет, хоть сколько ссылок кидайте.
0
4333 / 2123 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
22.10.2018, 14:41 10
Цитата Сообщение от Maks Посмотреть сообщение
И что?
FlasherX предложил решать задачу в комплексе используя один скриптовый язык, а так как на cmd ярлык не создать ([Далее из файла DFG.exe создать ярлык на рабочем столе], поэтому упоминалась [и nircmd вдобавок]) им и был предложен путь решения на других встроенных средствах.
0
Модератор
Эксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
7422 / 4176 / 525
Регистрация: 13.03.2013
Сообщений: 15,240
Записей в блоге: 14
22.10.2018, 14:57 11

Не по теме:

Цитата Сообщение от alpap Посмотреть сообщение
FlasherX предложил решать задачу в комплексе используя один скриптовый язык, а так как на cmd ярлык не создать
Ну тогда пусть FlasherX приведет пример такого скрипта


0
4333 / 2123 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
22.10.2018, 15:00 12
пусть
0
FlasherX
22.10.2018, 15:03
  #13

Не по теме:

Maks, только с "позволения" ТС. Ибо:

Цитата Сообщение от shadow_2 Посмотреть сообщение
Нужно сделать bat

0
141 / 110 / 30
Регистрация: 20.04.2011
Сообщений: 581
22.10.2018, 15:20 14
Цитата Сообщение от Maks Посмотреть сообщение
Я Вам показал скриншот корневой папки с установленным 7Zip последней версии и никакого 7za.exe там нет
Да, его нет в последних версиях, только в старых типа 9.20 (для zip хватит) https://sourceforge.net/p/seve... /b599cf02/
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,112
22.10.2018, 16:05 15
AlexP11223, до версии 9.20 выпускали архив 7za№.zip. C 9.21 по 9.34 7za.exe перекочевал в 7z-архив с приставкой "-extra" к 7zr.exe. Начиная с 9.35 7zr.exe упразднили, а 7za.exe остаётся там и по сей день.
0
724 / 323 / 133
Регистрация: 17.03.2014
Сообщений: 811
23.10.2018, 18:40 16
Цитата Сообщение от shadow_2 Посмотреть сообщение
Далее из файла DFG.exe создать ярлык на робочем столе . Затем взять файл logo.ico (находится в той-же папке что и DFG.exe ) и сменить иконку ярлыка, а так-же название ярлыка поменять на DFG (без слова ярлык).
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
@echo off&cls&title make shortcut on desktop
SetLocal EnableExtensions EnableDelayedExpansion
for /f "tokens=*" %%a in ('chcp') do for %%b in (%%a) do set "_codepage=%%~nb"
 
:: Далее из файла DFG.exe создать ярлык на робочем столе.
:: Затем взять файл logo.ico (находится в той-же папке что и DFG.exe )
:: и сменить иконку ярлыка, а так-же название ярлыка поменять на DFG (без слова ярлык)
 
                                            :: fName название ярлыка
set "fName=DFG"
                                            :: fIcon имя файла для иконки ярлыка
set "fIcon=logo.ico"
                                            :: ищем fName на системном диске,
                                            :: в постановке задачи не указано его местонахождение
 
echo:search "%fname%.exe" on drive "%SystemDrive%"
for /f "tokens=*" %%F in ('2^>nul where /r %SystemDrive%\ "%fname%.exe"') do (
  set "fullName=%%~fF"
  set "dirFile=%%~dpF"
  set "dirFile=!dirFile:~0,-1!"
  goto:step2
)
echo:file "%fname%.exe" not found on drive "%SystemDrive%"&pause&exit /b 1
 
:step2
if NOT exist "%dirFile%\%fIcon%" (
  echo:icon file not found: "%dirFile%\%fIcon%"&pause&exit /b 1  
)
set "fIcon=%dirFile%\%fIcon%"
>nul chcp 1251
>"%temp%\$.vbs" (
  echo dim WSH:set WSH = CreateObject^("Wscript.shell"^)
  echo sDesktop = WSH.SpecialFolders^("Desktop"^)
  echo set Shortcut = WSH.CreateShortcut^(sDesktop + "\%fName%.lnk"^)
  echo Shortcut.WindowStyle = 4
  echo Shortcut.IconLocation = "%fIcon%"
  echo Shortcut.TargetPath = "%fullName%"
  echo Shortcut.WorkingDirectory = "%dirFile%"
  echo Shortcut.Hotkey = ""
  echo Shortcut.Arguments = ""
  echo Shortcut.Save
)
>nul chcp %_codepage%
for %%v in (call del) do %%v "%temp%\$.vbs"
exit /b 0
1
3 / 3 / 0
Регистрация: 15.10.2018
Сообщений: 225
24.10.2018, 17:56  [ТС] 17
Извините друзья несколько дней отсутствовал поэтому не мог ответить

Вижу Вы тут мне накидали решений . Спасибо.

Так мне для нужной цели нужно паковать в 7z а не в zip ?


b0gus
Я правильно понимаю , Ваш скрипт начинает работу именно после распаковки архива и до создания ярлыка ?

:: в постановке задачи не указано его местонахождение
Конечная папка та в которую распаковывается архив D:/111/222 там находится файл DFG.exe и logo.ico
0
724 / 323 / 133
Регистрация: 17.03.2014
Сообщений: 811
24.10.2018, 18:03 18
Цитата Сообщение от shadow_2 Посмотреть сообщение
скрипт начинает работу именно после распаковки архива и до создания ярлыка ?
да
Цитата Сообщение от shadow_2 Посмотреть сообщение
в которую распаковывается архив D:/111/222 там находится файл DFG.exe и logo.ico
в таком случае скрипт надо поправить
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,112
24.10.2018, 18:05 19
Цитата Сообщение от shadow_2 Посмотреть сообщение
Я правильно понимаю , Ваш скрипт начинает работу именно после распаковки архива и до создания ярлыка ?
Он применил гибридизацию, о которой я говорил: впихнул создание vbs-файла в батник. Распаковки там нет. Поэтому ваша воля, использовать костыль вроде этого или сразу целевой код на соотв. языке.
0
141 / 110 / 30
Регистрация: 20.04.2011
Сообщений: 581
24.10.2018, 18:07 20
Цитата Сообщение от shadow_2 Посмотреть сообщение
Так мне для нужной цели нужно паковать в 7z а не в zip ?
Нет, 7zip умеет разные форматы, не только 7z.
0
24.10.2018, 18:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2018, 18:07
Помогаю со студенческими работами здесь

Распаковать каждый архив в отдельную папку на другом диске
Доброго времени суток! Есть относительно слабый компьютер с WinXP, на жёстком диске есть папка. В...

Как с использованием 7-Zip запаковать файлы и каталоги в архив и распаковать их из архива?
Научите меня 7z паковать! Документация выводится в консоль, но всё же пробами и ошибками долго...

Возможно ли с помощью Командной строки распаковать ZIP-архив, используя только ресурсы ОС Windows?
Возможно ли чистой ХП раз-архивировать .ZIP Архив только лишь ресурсами винды? или .cab ... Не...

Не могу распаковать *.cab средством cmd - bat
Здравствуйте уважаемые форумчане... Всем доброго времени суток... Я тут замаялся немного Конкретно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru