Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/37: Рейтинг темы: голосов - 37, средняя оценка - 4.51
2 / 2 / 0
Регистрация: 29.11.2011
Сообщений: 25

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

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

Студворк — интернет-сервис помощи студентам
Здраствуйте. Я сам пишу на делфях, а тут сестра попросила с лабой помоч, вот задание:
Входными параметрами ком файла должны быть 2 строки: в 1- имя файла архива(.zip, .rar) и имя искомого файла. Если архив содержит внутри себя искомый файл, то пакетное задание должно вывести на печать: файл <имя файла> найден в архиве <имя архива>. Если не найден, то вывести ...не найден... Вывод должен быть на русском языке. Анализ успешности - не успешности вызова команды определять через errorlevel.
как искать файл я разобрался и errorlevel понял, а вот как в архиве искать не могу найти, подскажите кто что может, заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.02.2013, 11:58
Ответы с готовыми решениями:

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

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

поиск файла в jar архиве
Привет всем! Подскажите, как на C++ Builder реализовать поиск файла в .jar архиве? Заранее благодарен.

14
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
01.02.2013, 12:32
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
2 / 2 / 0
Регистрация: 29.11.2011
Сообщений: 25
01.02.2013, 12:49  [ТС]
Цитата Сообщение от 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
94 / 94 / 4
Регистрация: 25.06.2012
Сообщений: 278
01.02.2013, 12:53
Немного подправив код 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
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
01.02.2013, 12:56
Вроде вызов правильный. Проверьте, есть ли папка Music в корне архива, набрав в батнике
Bash
1
"c:\Program Files\WinRAR\Rar.exe" t *.rar
1
 Аватар для Badger
94 / 94 / 4
Регистрация: 25.06.2012
Сообщений: 278
01.02.2013, 13:02
sov44, вызов верный, пробовал добавлять ключ /i все равно не ищет, хотя содержимое архива показывает верно.
0
2 / 2 / 0
Регистрация: 29.11.2011
Сообщений: 25
01.02.2013, 13:12  [ТС]
Цитата Сообщение от 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
94 / 94 / 4
Регистрация: 25.06.2012
Сообщений: 278
01.02.2013, 13:27
С ключем 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
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
01.02.2013, 13:33
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
2 / 2 / 0
Регистрация: 29.11.2011
Сообщений: 25
01.02.2013, 13:44  [ТС]
а по русски чтобы ответ выдавал можно сделать?
0
 Аватар для Badger
94 / 94 / 4
Регистрация: 25.06.2012
Сообщений: 278
01.02.2013, 13:52
Да, работает.
Evgen11, Sov44 нашел еще один способ найти файл в архиве, с помощью команды findstr и регулярных выражений.

Добавлено через 5 минут
Цитата Сообщение от Evgen11 Посмотреть сообщение
а по русски чтобы ответ выдавал можно сделать?
Здесь написано как сделать чтобы выводились русские символы.
0
0 / 0 / 0
Регистрация: 28.01.2014
Сообщений: 2
28.01.2014, 23:32
Evgen11, скажи ты сделал батник по поиску файла в архивах? если да то пришли пожалуйста код
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
29.01.2014, 23:23
egor_kozin, а выше что? - Не код?
0
1748 / 353 / 41
Регистрация: 15.10.2012
Сообщений: 550
31.01.2014, 13:48
Вопрос был задан давно и обсуждать, возможно, не имеет смысла... Но раз тема была поднята и у кого-то та же проблема, осмелюсь немного попридираться - использование в решениях rar.exe не корректно в соответствии с заданием проверять rar и zip архивы, так как rar.exe работает только с rar архивами. Тут, пожалуй, 7zip нужен.
1
2 / 2 / 0
Регистрация: 20.01.2014
Сообщений: 87
24.02.2014, 15:31
Здравствуйте.
Скажете, пожалуйста, а как просто найти в определенном каталоге, например g:\path, любой файл с расширением .inf ?

 Комментарий модератора 
Чтобы его найти, нужно создать новую тему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.02.2014, 15:31
Помогаю со студенческими работами здесь

Поиск в заархивированном архиве
Собственно как?)) Не ищет файл в архиве &quot;2-го уровня&quot;. Пробовал и стандартным поиском, и ковырялся в индексации, пробовал Total...

Произвести поиск в iso архиве средствами Perl
У меня есть имя iso архива, необходимо заглянуть в него и найти файл имя которого соответствует определенному регулярному выражению, и...

Изменить содержимое файла в архиве
Здравствуйте, Хочу попробовать 1 задачу решить. Суть задачи: Нужно в архиве изменить содержимое файла.

Дата/время файла в архиве zip
Как средствами Delphi получить дату/время файла в архиве zip?

GZipStream проблема с раширением файла в архиве
Добрый день, появилась проблема при сжатии файла. Когда сжимается, пропадает точка расширения файла. Даже не представляю почему. Вместо...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru