С Новым годом! Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 04.08.2016
Сообщений: 1
1

Разархивация с сортировкой по флагу

04.08.2016, 14:16. Показов 754. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
В программировании я ноль с палочкой и прошу помощи в создании bat файла с функцией разархивирования множества RAR архивов по флагу "_" в наименовании файлов с созданием соответствующих каталогов.
Иными словами нужно чтобы разархивированные файлы копировались в созданные или уже имеющиеся папки с названием указанным до флага "_"
Кликните здесь для просмотра всего текста
Пример исходных арихвов
С:\Folder\archiv1.rar --->abcdefg_123456.txt
С:\Folder\archiv1.rar --->qwer_987654.txt
***
С:\Folder\archiv2.rar --->abcdefg_654321.txt
С:\Folder\archiv2.rar --->qwer_456789.txt

Необходимый результат разархивации
С:\Folder-rez\abcdefg\abcdefg_123456.txt
С:\Folder-rez\abcdefg\abcdefg_654321.txt
***
С:\Folder-rez\qwer\qwer_987654.txt
С:\Folder-rez\qwer\qwer_456789.txt

При возникновении дубликатов извлекаемых файлов сохранить оба варианта.
Заранее выражаю свою благодарность за помощь в решении проблемы.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.08.2016, 14:16
Ответы с готовыми решениями:

Сортировать массив символов обменной, карманной сортировкой, сортировкой вставками
Сортировать массив символов обменной, карманной сортировкой, сортировкой вставками . Оценить...

Отсортировать одномерный массив, заполненный случайными числами, сортировкой Шелла и сортировкой выбором
Отсортировать одномерный массив, заполненный случайными числами, сортировкой Шелла и сортировкой...

Сортировать числовой файл обменной сортировкой, сортировкой вставками
Уааа, ребят помогите пожалуйста, уже просто мозги кипят не знаю что делать. Задание: ...

Обрезка строки по флагу
имеется текст "0хС2222222222BBBBAAAAAACCCCBBBBB0093839382...FFFFFFFF01937882928ACDACDDC..."...

6
4336 / 2126 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
04.08.2016, 15:26 2
а bat архив не прочитает, вам на vbs нужно.
0
734 / 332 / 134
Регистрация: 17.03.2014
Сообщений: 832
05.08.2016, 00:05 3
Цитата Сообщение от alpap Посмотреть сообщение
а bat архив не прочитает
Windows Batch file
1
rar lb file.rar
покажет список файлов в RAR-архиве
0
4336 / 2126 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
05.08.2016, 10:03 4
Цитата Сообщение от b0gus Посмотреть сообщение
покажет список файлов в RAR-архиве
это понятно
имел ввиду под прочитать, т.е. нормально распарсить, если надо
Windows Batch file
1
"%ProgramFiles%\7-Zip\7z.exe" l "Arxiv.7z">"file.txt"
ну вижу я в файле "file.txt" имена нужных мне файлов, как вытащить, разве по номеру строки, а если в разных версиях разные?

Добавлено через 16 минут
Да, в этом отношении, rar мощнее.
0
734 / 332 / 134
Регистрация: 17.03.2014
Сообщений: 832
05.08.2016, 10:17 5
Цитата Сообщение от alpap Посмотреть сообщение
как вытащить, разве по номеру строки, а если в разных версиях разные?
Windows Batch file
1
rar e file.rar _имя_файл, полученное из rar lb file.rar >list_file_
Цитата Сообщение от alpap Посмотреть сообщение
rar мощнее.
ТС в ТЗ говорит именно про RAR

зы. извиняюсь за менторные интонации, но у меня сейчас нет времени заняться этой задачей (
0
4336 / 2126 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
06.08.2016, 00:44 6

Не по теме:

Какая конструкция получается чтобы вывести имена файлов в архиве 7z:

Windows Batch file
1
2
3
4
5
6
7
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%A in ('dir/a-d/b "*.7z"') do (
 for /f "delims=:" %%a in ('""%ProgramFiles%\7-Zip\7z.exe" l "%%A"|findstr/rn /c:"^---""') do set/a n+=1& set "v!n!=%%a"& set/a nd=v1+1& set/a kd=v2-1  
 for /f "tokens=5*" %%a in ('"for /l %%a in (!nd!,1,!kd!) do @"%ProgramFiles%\7-Zip\7z.exe" l "%%A"|find /n /v ""|find "[%%a]""') do echo %%b
)
pause
.



Добавлено через 10 часов 0 минут
Pawok21,
Пусть кто-то на rar переделает - у меня нет его.
Не разархивировав предварительно не понимаю как это можно сделать, сделал на 7zip (пользуюсь именно им), на выходе получите что заказывали и дубликаты тоже будут в сохранности:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo off
set "d_in=C:\Folder"
set "d_out=C:\Folder-rez"
for /f "delims=" %%A in ('dir/a-d/b "%d_in%\*.*"') do (
 for /f "tokens=2* delims=_ " %%a in ('""%ProgramFiles%\7-Zip\7z.exe" x "%%A" -o"%%~nA"|find "Extracting""') do (
  if not exist "%d_out%\%%a" md "%d_out%\%%a"
  for %%B in ("%d_out%\%%a") do set n=0& call :l "%%~nA" "%%~nB" "%%a" "%%b"
 )
 rd /s /q "%%~nA"
)
exit
 
:l
 if "%~2"=="%~3" if not exist "%d_out%\%~3\%~3%n%_%~4" (copy "%~1\%~3_%~4" "%d_out%\%~3\%~3%n%_%~4") else (set/a n+=1& goto l)
exit/b
.
0
mir16
07.08.2016, 11:05     Разархивация с сортировкой по флагу
  #7

Не по теме:

Цитата Сообщение от alpap Посмотреть сообщение
Пусть кто-то на rar переделает
зачем что-то переделывать, если тс говорит об архивах рар, а не об разархивации программой рар.. ;)

0
07.08.2016, 11:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.08.2016, 11:05
Помогаю со студенческими работами здесь

Угадать страну по флагу
В общем нужно что бы в приложении была всего одна попытка,4 варианта ответа,счет правильных...

Выход из цикла по флагу ZF
Здравствуйте! Возник такой вопрос по этому коду: m2: inc cl shr al, 1 jnz m2 ...

Угадать страну по флагу
Сделать игру на подобие этой http://poigray.blogspot.ru/2012/09/blog-post_9276.html

Htaccess - редирект по флагу страны
Редирект по флагу страны Вот кусок кода из фйла htaccess: GeoIPEnable On RewriteEngine on...


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

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