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

Поиск в архиве и при совпадении его перемещение

30.12.2013, 14:28. Показов 1867. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Вот столкнулся с такой задачей. Приходит почта в виде архивов. Автоматическое перемещение по дате и названию сделал уже давно. Теперь проблема в том чтобы дополнительно проверять содержимое архивов по именам файлов. При совпадении поиска переместить архив в указанное место. WinRar увы не открывает файлы так что делал через ARJ. Команда ARJ l arhive.000 показывает список файлов в архиве но вот как настроить поиск во всех архивах и последующее перемещение никак не могу придумать. Может кто нибудь помочь? Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.12.2013, 14:28
Ответы с готовыми решениями:

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

Написать батник, выводящий при совпадении даты его запуска с заданной определённое сообщение
При запуске должно выводиться "сообщение",но если дата 4 ноября,а если нет,то ничего не выводит.

Поиск каталога и перемещение его в другой
Добрый день! Требуется помощь в дописании кода *.bat файла. Суть в том, что при его запуске создается папка с именем текущей даты. ...

8
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
30.12.2013, 17:11
В каком формате ARJ выдает список файлов?
0
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
30.12.2013, 20:05
Цитата Сообщение от FraidZZ Посмотреть сообщение
В каком формате ARJ выдает список файлов?
Bash
1
Arj.exe l "c:\1\44\5.arj" | >nul find /i "График" && echo Y || echo N
7 zip тоже показывает содержимое архивов
Bash
1
2
3
4
5
6
7
@echo off
setlocal enabledelayedexpansion
 
"c:\Program Files\7-Zip\7z.exe" l -r "c:\1\44\культ.7z" | >nul find /i "anketa1" && echo Y || echo N
 
pause
exit
Миниатюры
Поиск в архиве и при совпадении его перемещение  
0
0 / 0 / 0
Регистрация: 02.11.2013
Сообщений: 19
30.12.2013, 21:24  [ТС]
Цитата Сообщение от FraidZZ Посмотреть сообщение
В каком формате ARJ выдает список файлов?
Точно так же как на скриншоте.

Цитата Сообщение от sov44 Посмотреть сообщение
Кликните здесь для просмотра всего текста
Bash
1
Arj.exe l "c:\1\44\5.arj" | >nul find /i "График" && echo Y || echo N
7 zip тоже показывает содержимое архивов
Bash
1
2
3
4
5
6
7
@echo off
setlocal enabledelayedexpansion
 
"c:\Program Files\7-Zip\7z.exe" l -r "c:\1\44\культ.7z" | >nul find /i "anketa1" && echo Y || echo N
 
pause
exit
А как теперь организовать проверку для множества архивов? Почты каждый день много приходит
0
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
30.12.2013, 21:38
Цитата Сообщение от Red_Stalker Посмотреть сообщение
А как теперь организовать проверку для множества архивов? Почты каждый день много приходит
Всё зависит от того, сколько значений вы ищете в архиве: одно или несколько (список)
0
0 / 0 / 0
Регистрация: 02.11.2013
Сообщений: 19
30.12.2013, 22:41  [ТС]
Цитата Сообщение от sov44 Посмотреть сообщение
Всё зависит от того, сколько значений вы ищете в архиве: одно или несколько (список)
Выходит что несколько. Допустим если в архиве есть файл DUBLI то его переместить в одну папку, если есть файл VG то в другую. Всего наверно 4 проверки

Добавлено через 53 минуты
Можно просто повторять код сколько надо найти совпадений. Просто как это сделать для множества файлов?
0
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
30.12.2013, 23:51
Red_Stalker, пробуйте
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
setlocal enabledelayedexpansion
 
set "folder1=1"
set "folder2=2"
 
set "word1=График"
set "word2=wget"
 
 
for /f "delims=" %%a in ('dir /b /a-d "*.arj"') do (
    Arj.exe l "%%a" | >nul find /i "%word1%" && if not exist "%folder1%" md "%folder1%"& copy /y "%%a" "%folder1%\" >nul
    Arj.exe l "%%a" | >nul find /i "%word2%" && if not exist "%folder2%" md "%folder2%"& copy /y "%%a" "%folder2%\" >nul
)
 
pause
exit
архиватор arj должен лежать рядом с батником, папки с файлами появятся тоже рядом с батником. Иначе пишите полные пути. Рекурсию не прикрутил.

Добавлено через 38 минут
странно. почему-то, если один архив уже скопирован, второй не копируется. (в которых найдены одинаковые слова).
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
31.12.2013, 00:39
sov44, потому что команда копирования относится к условию if exist.
При твоей логике тут даже парой скобок не обойдешься.
Запишем вот так:

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
setlocal enabledelayedexpansion
 
set "folder1=1"
set "folder2=2"
 
set "word1=График"
set "word2=wget"
 
 
for /f "delims=" %%a in ('dir /b /a-d "*.arj"') do (
    Arj.exe l "%%a" | >nul find /i "%word1%" && ((if not exist "%folder1%" md "%folder1%")& copy /y "%%a" "%folder1%\" >nul)
    Arj.exe l "%%a" | >nul find /i "%word2%" && ((if not exist "%folder2%" md "%folder2%")& copy /y "%%a" "%folder2%\" >nul)
)
 
pause
exit
2
0 / 0 / 0
Регистрация: 02.11.2013
Сообщений: 19
31.12.2013, 01:33  [ТС]
Всем спасибо ) Приду на работу завтра и подстрою )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.12.2013, 01:33
Помогаю со студенческими работами здесь

Поиск файла в архиве
Здраствуйте. Я сам пишу на делфях, а тут сестра попросила с лабой помоч, вот задание: Входными параметрами ком файла должны быть 2...

Замена файла в zip архиве при совпадении имени
Есть несколько excel файлов. например, 1.xls, 2.xls, 3.xls Есть куча zip архивов. например, A (1.xls), B (1.xls,5.doc,3.doc), C (3.xls),...

Поиск по DataGridView через textbox, при совпадении выделить строку
Как сделать так чтобы,когда мы вводим какие то данные в textbox выделялась строка в таблице, созданной также через textbox. вот код самой...

Копирование и перемещение файлов в архиве С#
Доброго времени суток. Подскажите пожалуйста как можно скопировать или переместить файл по имени из одного архива в другой не расспаковывая...

Нужно при совпадении вводимого имени в username сравнить его с именем в базе данных UserID
В username – храниться имя и в базе данных в разделе UserID Мне нужно при совпадении вводимого имени в username сравнить его с именем...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru