Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/190: Рейтинг темы: голосов - 190, средняя оценка - 4.60
6 / 6 / 1
Регистрация: 13.12.2015
Сообщений: 398

Разархивировать архив в папке и поместить в нужное место

06.03.2017, 19:34. Показов 42516. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, единомышленники. Просьба помочь в вопросе. Нужно:
1) Зайти в папке;
2) Разархивировать все архивы;
3) Переместить все файлы ( из архивов) в нужное место.

Заранее большое спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.03.2017, 19:34
Ответы с готовыми решениями:

как поместить в нужное место
Здравствуйте господа програмисты!у меня такой вопрос-я допустим сделал программу,как её програмно поместить в автозагрузку(т.к. туда я могу...

Как поместить курсор в нужное место в поле ввода?
Как поместить курсор в нужное место? имеется кнопка печатающая что то вроде ТЕКСТ() как поместить курсор внутрь скобок? я нажимаю на...

Разархивировать архив с паролем
Помогите. Задача стоит так: есть папка с архивами (.arj), которые закрыты паролями, пароли в текстовых файлах (строка 1) в той же папке,...

35
6 / 6 / 1
Регистрация: 13.12.2015
Сообщений: 398
09.03.2017, 18:57  [ТС]
Студворк — интернет-сервис помощи студентам
b0gus, папка1-папка2-папка3 и в ней архив. Или же возможен вариань папка1-архив
Т.е. глубина погружения арзива различна. Возможен и архив в архиве
0
 Аватар для b0gus
741 / 339 / 134
Регистрация: 17.03.2014
Сообщений: 842
09.03.2017, 19:27
Цитата Сообщение от studentrm Посмотреть сообщение
папка1-папка2-папка3 и в ней архив. Или же возможен вариань папка1-архив
Т.е. глубина погружения арзива различна. Возможен и архив в архиве
тааак, а теперь наберитесь мужества и простыми словами,
шаг за шагом,
опишите полную, однозначно воспринимаемую, постановку задачи

\\конечно, в том случае, ежели вам действительно нужен ответ
0
6 / 6 / 1
Регистрация: 13.12.2015
Сообщений: 398
09.03.2017, 20:01  [ТС]
b0gus,
Пример:
Есть папка общая и в ней две папки:папка1 и папка 2.
В папке1 лежит папка1.1. В папке 1.1 лежит архив file.rar
В папке2 лежит файл архив file2.rar.
Задача вынуть все архивы из папок , к примеру на рабочий стол.

Глубина погружения, т.е. количество вложенных папок, т.е. папка в папке, может быть различным
0
 Аватар для b0gus
741 / 339 / 134
Регистрация: 17.03.2014
Сообщений: 842
09.03.2017, 20:07
ОК, "хотелки" в топике постоянно мимикрируют:
Цитата Сообщение от studentrm Посмотреть сообщение
Задача вынуть все архивы из папок , к примеру на рабочий стол.
Цитата Сообщение от studentrm Посмотреть сообщение
В них лежат архивы, которые нужно извлечь в нужную папку.
Цитата Сообщение от studentrm Посмотреть сообщение
Архивы нужно только двух имен: fail.rar and iti.rar
Цитата Сообщение от studentrm Посмотреть сообщение
папка1-папка2-папка3 и в ней архив. Или же возможен вариань папка1-архив
Т.е. глубина погружения арзива различна. Возможен и архив в архиве
извините, я помочь не смогу
0
6 / 6 / 1
Регистрация: 13.12.2015
Сообщений: 398
13.03.2017, 14:06  [ТС]
Всем добрый день. Подскажите пожалуйста как сделать следующее:
Есть папка - oblako. В ней много разных папок (см. Рис. Структура).В данных папках лежат разные файлы, но нужны только: bancjournal.txt.gz и transit.jrn.gz.

Необходимо:
1-Зайти в каждую папку и найти нужные архивы;
2-Переименовать извлеченные файлы: в имени bancjournal.txt.gz и transit.jrn.gz добавить имя папки, из которого он извлечен;
3-Все это добро переместить в целевую папку.

Пробывал данным кодом, извлекает, но только то, что лежит в корне главной папки.
Подскажите как быть?

Windows Batch file
1
"C:\Program Files (x86)\WinRAR\WinRAR.exe" x "D:\Testbat\in" -o"D:\Testbat\out" -r -y
Миниатюры
Разархивировать архив в папке и поместить в нужное место  
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
13.03.2017, 15:50
studentrm,
вы хоть что-то читаете из того что вам советуют, а то что читаете - анализируете?
вы создаете уже третью тему с одним и тем же в разных ипостасях и в очередной раз с одними и теми же граблями в виде синтаксиса и в одной из тем о нем 9синтаксисе RAR) вам предлагалось и прелагается и на этот раз почитать для начала здесь!
0
6 / 6 / 1
Регистрация: 13.12.2015
Сообщений: 398
13.03.2017, 20:27  [ТС]
alpap, ни один из предложенных вариантов не ищет архивы в подпапках
0
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
13.03.2017, 20:33
Цитата Сообщение от alpap Посмотреть сообщение
вы создаете уже третью тему с одним и тем же в разных ипостасях
Склеил три темы в одну
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
13.03.2017, 22:53
Лучший ответ Сообщение было отмечено NeoMatrix как решение

Решение

Цитата Сообщение от studentrm Посмотреть сообщение
ищет архивы в подпапках
мне вот интересно, насколько вам это надо именно в командной строке и есть ли что сильно автоматизировать что кучу тем наплодить и самому ни на шаг не продвинуться.
вот напишу одну строку и ничего совершенно пояснять не буду, разбирайте:
Windows Batch file
1
for /r %i in (*.rar) do "c:\program files\winrar\rar.exe" x "%i" "%~pi%~ni"
1
Модератор
Эксперт NIX
 Аватар для NeoMatrix
8537 / 3417 / 105
Регистрация: 24.05.2011
Сообщений: 14,651
Записей в блоге: 8
14.03.2017, 00:22
Цитата Сообщение от studentrm Посмотреть сообщение
ни один из предложенных вариантов не ищет архивы в подпапках
Следовательно, нужно сначала дать команду найти целевые файлы архивов по всему дереву каталогов.
Ищем в гугле команду, которая делает такие вещи. Это команда DIR
Windows Batch file
1
2
dir /b /s C:\*fail,rar
dir /b /s C:\*iti.rar
Вот они, наши файлы.
Для того, чтобы с ними что-либо сделать дальше мы должны передать их следующей команде.
Вы их хотите разархивировать командой WINRAR, которой и нужно передать эти два файла в виде аргументов.
WINRAR может принять список файлов для обработки. Поэтому нам логично вывод поиска файлов передать в файл и потом этот файл отдать команде WINRAR в качестве списка.
Таким образом, мы на словах себе уже составили общее представление, что нам нужно сделать:
Найти файлы, сохранить их в список и потом передать этот список в качестве аргумента команде-архиватору.
Теперь будем соображать, как нам это записать в командный файл.
Командный файл виндовс - обычный текстовый файл со специальным расширением .BAT, часто называемый просто "батник" или "скрипт".
Создадим файл OURSCRIPT.BAT и откроем блокнотом (Notepad.exe).
Далее запишем в этот файлик следующее:
Windows Batch file
1
2
3
dir /b /s C:\*.rar > C:\list.txt # найдём все файлы *.rar на C:\ и сохраним их список в файлик list.txt
"C:\Program Files\WinRAR\WinRAR.exe" e -@+ @'C:\list.txt' C:\Test\ # извлечём файлы по списку из нашего файлика в папку Test
erase C:\list.txt # удалим этот временный файлик
В ЭТОМ ЖЕ НЕТ НИЧЕГО СЛОЖНОГО! НАДО ТОЛЬКО ПОРАСКИНУТЬ МОЗГАМИ И ПОГУГЛИТЬ!
2
14.03.2017, 00:32

Не по теме:

NeoMatrix, интересно, впервые в Win вижу однострочный комментарий в виде символа #, спасибо!

0
14.03.2017, 01:21

Не по теме:

Цитата Сообщение от b0gus Посмотреть сообщение
впервые в Win вижу однострочный комментарий в виде символа #
linux stile

0
6 / 6 / 1
Регистрация: 13.12.2015
Сообщений: 398
16.03.2017, 23:46  [ТС]
Коллеги, доброго времени суток. Подскажите как быть?
Сканируется каталог файлов и записывается в файл(нужно найти определенные файлы).
Все файлы, которые есть в файле list.txt нужно разархивировать...
Не находит файл list.txt процедура,..ошибка ..как быть?

Windows Batch file
1
2
3
4
5
dir /s /b  C:\*123.rar > C:\list.txt 
dir /s /b  C:\*325.rar >> C:\list.txt 
 
"C:\Program Files\WinRAR\WinRAR.exe" e -@+ @'C:\list.txt' C:\Test\ # извлечём файлы по списку из нашего файлика в папку Test
erase C:\list.txt # удалим этот временный файлик
Если можно, как дать имя извлеченному файлу имя + имя папки где он был?
0
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.03.2017, 15:26
Не используйте одинарные кавычки для путей в cmd - только двойные.
Windows Batch file
1
2
3
4
>>type 'C:\list.txt' 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
>>type "C:\list.txt"
текст из файла
0
Модератор
Эксперт NIX
 Аватар для NeoMatrix
8537 / 3417 / 105
Регистрация: 24.05.2011
Сообщений: 14,651
Записей в блоге: 8
17.03.2017, 23:37
Лучший ответ Сообщение было отмечено studentrm как решение

Решение

Не по теме:

studentrm, вот вы понимаете такой момент, что если вам сегодня всё разжуют и в рот положат, завтра, пока вы учитесь, то послезавтра вы, придя на работу, не сможете решить никакой проблемы по своей специальности?
Мне на вас в конечном итоге наплевать. С этим "не умею и не хочу научиться уметь" жить вам.
Вам сегодня главное - научиться учиться. Не столько освоить специальность, сколько научиться быстро и эффективно решать любую поставленную задачу. Будь то "написать скрипт", или ""выбить снайпера во-о-он на той высотке", или ещё "порвался ремень генератора, на 100 км вокруг ни души". Сегодня у вас есть возможность воспользоваться бесчисленными шпаргалками, справочниками и прочей документацией. Послезавтра такого великолепия может не оказаться.
Учитесь учиться, пока у вас есть возможность.


Но это лирика. По теме.
У вас изначально была задача, насколько мне помнится, такая:
Цитата Сообщение от studentrm Посмотреть сообщение
1) Зайти в папке;
2) Разархивировать все архивы;
3) Переместить все файлы ( из архивов) в нужное место.
Я вам выдаю полное рабочее решение. И даже расскажу что в нём к чему и почему.
Можете сразу бежать к преподу с радостным лицом.
Сначала мы переходим в корневую папку дерева архивов. Это просто:
Windows Batch file
1
cd C:\Test
Далее, мы в этой папке создадим папку для архивов
Windows Batch file
1
md Test2
и зайдём в неё
Windows Batch file
1
cd Test2
После этого скажем архиватору распаковать файлы, лежащие в соседней папке и её подпапках.
Windows Batch file
1
"C:\Program Files\WinRAR\WinRAR.exe" E -r C:\Test\Test\*.rar *.txt
И вот тут есть моментик, на который вы не обратили внимания в прошлый раз: архиватору важно знать, какой тип файлов из архивов вытаскивать. И ему важно знать какой тип архивов обрабатывать, ибо он умеет и .zip, и прочие другие.
Для нашего случая я выбрал вариант "искать только архивы .rar и вытаскивать из них текстовые файлы (*.txt)". Если нужно все подряд файлы вытаскивать, то можно прописать *.* .
Итак, файлы мы из архивов извлекли в текущую папку.
Теперь нам нужно их перенести в какую-то папку нужную нам, если мы не хотим оставлять их прямо здесь.
Это можно сделать двумя различными методами: скопипастить и потом удалить оригинал или просто перенести.
Следовательно, если копипаст (копировать>вставить), то выполняем
Windows Batch file
1
2
3
cd ..
copy Test2 X:\Path\to\dir
rmdir Test2
Если перенос (вырезать>вставить), то выполняем
Windows Batch file
1
2
cd ..
move Test2 X:\Path\to\dir
После этого неплохо бы вернуться в домашнюю папку
Windows Batch file
1
cd C:\Users\%username%\
И доложить о готовности
Windows Batch file
1
echo "I'm made it!"
А после всего ещё и ожидать нажатия пользователем клавиши
Windows Batch file
1
pause
Итоговый батник
Windows Batch file
1
2
3
4
5
6
7
8
9
cd C:\Test\
md Test2
cd Test2
"C:\Program Files\WinRAR\WinRAR.exe" E -r C:\Test\Test\*.rar *.txt
cd ..
move Test2 X:\Path\to\dir
cd C:\Users\%username%\
echo "I'm made it!"
pause
0
0 / 0 / 0
Регистрация: 20.05.2022
Сообщений: 3
10.11.2022, 11:59
Windows Batch file
1
2
cd folder_to_archives
for /r %i in (*.zip) do "%ProgramFiles% (x86)\7-Zip\7z.exe" x "%i" -o"out_folder\%i"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.11.2022, 11:59

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

Как разархивировать запароленный 7z архив
Доброе утро! нужно разархивировать запароленный архив echo setlocal set "path=%path%;%programfiles%\7-zip" :: разархивируем...

Разархивировать архив с известным паролем
В интернете все примеры которые я находил были с архивами без паролей. Мне нужно работать с архивами (zip или rar) на которые установлены...

Скопировать,разархивировать и удалить архив
помогите пожалуйста написать в VBSпрограмму, задание: 1)В локальном диске с:\Temp сохранен архив с расширением rar с файлами(1.exe,...

Из VB разархивировать rar-архив с паролем (известен)
Как разархивировать просто rar-архив я понял: WinRarApp = "C:\Program Files\WinRAR\WinRAR.exe e " iPath...


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

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru