Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/20: Рейтинг темы: голосов - 20, средняя оценка - 4.55
Evgen11
2 / 2 / 0
Регистрация: 29.11.2011
Сообщений: 25
1

Поиск файла в архиве

01.02.2013, 11:58. Просмотров 3891. Ответов 14
Метки нет (Все метки)

Здраствуйте. Я сам пишу на делфях, а тут сестра попросила с лабой помоч, вот задание:
Входными параметрами ком файла должны быть 2 строки: в 1- имя файла архива(.zip, .rar) и имя искомого файла. Если архив содержит внутри себя искомый файл, то пакетное задание должно вывести на печать: файл <имя файла> найден в архиве <имя архива>. Если не найден, то вывести ...не найден... Вывод должен быть на русском языке. Анализ успешности - не успешности вызова команды определять через errorlevel.
как искать файл я разобрался и errorlevel понял, а вот как в архиве искать не могу найти, подскажите кто что может, заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2013, 11:58
Ответы с готовыми решениями:

Поиск файла в архиве и перемещение архива
Добрый день! Так или иначе в папке появляется файл с произвольным именем и расширением *.kvt...

Поиск в архиве и при совпадении его перемещение
Здравствуйте. Вот столкнулся с такой задачей. Приходит почта в виде архивов. Автоматическое...

Поиск на компьютере INI-файла и копирование найденного файла в папку определенного пользователя
Нужна ваша помощь! Нужно найти файл с расширением .ini и скопировать его в папку Пользователи\(имя...

Поиск в каталоге нужного файла и создание при его наличии нового файла с тем же именем, но с другим раширением
Нужно сделелать проверку на наличие файла &quot;Пример.т01&quot; в катологе D:\Temp\ и при условии что они...

Не создавать дерево в архиве
&quot;C:\Files\WinRar\WinRAR.exe&quot; a &quot;D:\copy.rar&quot; &quot;C:\Users\assapeo\Desktop\rabota\kat1&quot; &quot;copy.txt&quot; ...

14
sov44
1760 / 744 / 128
Регистрация: 09.04.2011
Сообщений: 1,314
01.02.2013, 12:32 2
Evgen11, попробуйте так
Bash
1
2
3
"c:\Program Files\WinRAR\Rar.exe" t *.rar ^|find %1 >nul&& (Echo %1 exist) || (Echo %1 no exist)
pause
exit
0
Evgen11
2 / 2 / 0
Регистрация: 29.11.2011
Сообщений: 25
01.02.2013, 12:49  [ТС] 3
Цитата Сообщение от sov44 Посмотреть сообщение
"c:\Program Files\WinRAR\Rar.exe" t *.rar ^|find %1 >nul&& (Echo %1 exist) || (Echo %1 no exist) pause exit
пишу aaa.bat Music в ответ no exist и по отальным папкам и файлам тоже самое. Может я неправильно вызываю???
0
Badger
91 / 91 / 4
Регистрация: 25.06.2012
Сообщений: 278
01.02.2013, 12:53 4
Немного подправив код sov44:
Search_in_archive.bat
Bash
1
2
3
4
@echo off
"c:\Program Files\WinRAR\Rar.exe" l:b %1 ^|find "%2" >nul&& (Echo %2 in %1 exist) || (Echo %2 in %1 not exist)
pause
exit
Вызывать так: Search_in_archive.bat "путь к архиву" "имя искомого файла"
Search_in_archive.bat "c:\temp\archive.rar" "file.txt"
2
sov44
1760 / 744 / 128
Регистрация: 09.04.2011
Сообщений: 1,314
01.02.2013, 12:56 5
Вроде вызов правильный. Проверьте, есть ли папка Music в корне архива, набрав в батнике
Bash
1
"c:\Program Files\WinRAR\Rar.exe" t *.rar
1
Badger
91 / 91 / 4
Регистрация: 25.06.2012
Сообщений: 278
01.02.2013, 13:02 6
sov44, вызов верный, пробовал добавлять ключ /i все равно не ищет, хотя содержимое архива показывает верно.
0
Evgen11
2 / 2 / 0
Регистрация: 29.11.2011
Сообщений: 25
01.02.2013, 13:12  [ТС] 7
Цитата Сообщение от Badger Посмотреть сообщение
@echo off "c:\Program Files\WinRAR\Rar.exe" l:b %1 ^|find "%2" >nul&& (Echo %2 in %1 exist) || (Echo %2 in %1 not exist) pause exit
спасибо, работает)
0
Badger
91 / 91 / 4
Регистрация: 25.06.2012
Сообщений: 278
01.02.2013, 13:27 8
С ключем t у меня выходит только через временный файл:
Bash
1
2
3
4
5
6
7
@echo off
set logfile=c:\temp\searchinarch.log
"c:\Program Files\WinRAR\Rar.exe" t %1 >> %logfile%
find /i %2 "%logfile%" >nul&& (Echo %2 in %1 exist) || (Echo %2 in %1 not exist)
del /q %logfile%
pause
exit
0
sov44
1760 / 744 / 128
Регистрация: 09.04.2011
Сообщений: 1,314
01.02.2013, 13:33 9
Badger, попробуйте вывод в консоль
Bash
1
2
3
4
5
6
@echo off
SetLocal enabledelayedexpansion
 
"c:\Program Files\WinRAR\Rar.exe" t %1 ^|1>Nul 2>&1 findstr /ir *%2&& (Echo %2 exist in %1) || (Echo %2 not exist in %1)
pause
exit
2
Evgen11
2 / 2 / 0
Регистрация: 29.11.2011
Сообщений: 25
01.02.2013, 13:44  [ТС] 10
а по русски чтобы ответ выдавал можно сделать?
0
Badger
91 / 91 / 4
Регистрация: 25.06.2012
Сообщений: 278
01.02.2013, 13:52 11
Да, работает.
Evgen11, Sov44 нашел еще один способ найти файл в архиве, с помощью команды findstr и регулярных выражений.

Добавлено через 5 минут
Цитата Сообщение от Evgen11 Посмотреть сообщение
а по русски чтобы ответ выдавал можно сделать?
Здесь написано как сделать чтобы выводились русские символы.
0
egor_kozin
0 / 0 / 0
Регистрация: 28.01.2014
Сообщений: 2
28.01.2014, 23:32 12
Evgen11, скажи ты сделал батник по поиску файла в архивах? если да то пришли пожалуйста код
0
Dragokas
Эксперт WindowsАвтор FAQ
17055 / 7110 / 861
Регистрация: 25.12.2011
Сообщений: 10,920
Записей в блоге: 16
29.01.2014, 23:23 13
egor_kozin, а выше что? - Не код?
0
Smitis
1629 / 338 / 40
Регистрация: 15.10.2012
Сообщений: 530
31.01.2014, 13:48 14
Вопрос был задан давно и обсуждать, возможно, не имеет смысла... Но раз тема была поднята и у кого-то та же проблема, осмелюсь немного попридираться - использование в решениях rar.exe не корректно в соответствии с заданием проверять rar и zip архивы, так как rar.exe работает только с rar архивами. Тут, пожалуй, 7zip нужен.
1
sotik
1 / 1 / 0
Регистрация: 20.01.2014
Сообщений: 87
24.02.2014, 15:31 15
Здравствуйте.
Скажете, пожалуйста, а как просто найти в определенном каталоге, например g:\path, любой файл с расширением .inf ?

 Комментарий модератора 
Чтобы его найти, нужно создать новую тему.
0
24.02.2014, 15:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2014, 15:31

Получение данных об архиве
Помогите создать bat программу кровь из носу. Нужно чтоб с рабочего стола считывать архив с...

Запуск программы, находящейся в архиве
Приветствую!!! Подскажите пожалуйста :( Т.е есть архив, внутри него есть программа, как из...

Список каталогов в архиве 7-Zip
Добрый день. Есть задача. Имеется архив 7zip. Внутри куча каталогов и файлов.Структура архива:...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru