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

Поиск файла в архиве и перемещение архива

17.02.2014, 15:24. Показов 2223. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!

Так или иначе в папке появляется файл с произвольным именем и расширением *.kvt (это архив).
В этот архив вложен файл *.txt имя которого кончается на "_20140217_001" или "_20140217_002" и т.д.(_текущая дата_номер по порядку).
Можно ли посредством командного языка и средствами командой строки ARJ (предпочтительнее) или 7zip, реализовать следующий сценарий:

Запускаем батник.
1) Он ищет среди всех архивов *.kvt вложение подобное "*_20140217_001.txt".
2) Из найденного архива копирует требуемое вложение в папку вида "20140217_in1" (дата в имени папки фиксирована, скажем сегодня)
3) И переносит найденный *kvt-архив в паку вида "20140217_in1", не трогая, при этом, остальные.

?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2014, 15:24
Ответы с готовыми решениями:

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

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

Поиск и перемещение файла
Доброго времени суток. Дано: на любом из дисков в любой директории появляются файлы log_tmp.txt...

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

2
0 / 0 / 0
Регистрация: 14.02.2014
Сообщений: 4
18.02.2014, 23:47  [ТС] 2
Нашел в этой теме подходящий код.

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
Код обрабатывает только первый из найденных архивов. Попробовал зациклить обработку. Результат - один найденный архив.
Код находит не все файлы с указанными значениями, в word1.

Добавлено через 6 часов 13 минут
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@echo off
setlocal enabledelayedexpansion
 
set "folder1=1"
set "folder2=2"
 
set "word1=001"
set "word2=002"
rem set "defaultfolder=полный путь до папки с файлами"
cd %defaultfolder%
for /f "delims=" %%a in ('dir /b /a-d "*.*"') do ( rem где "*.*" поиск по всем файлам в %defaultfolder%
    7z l "%%a" | >nul find /i "%word1%" && ((if not exist "%folder1%" md "%folder1%")& copy /y "%%a" "%folder1%\" >nul)
    7z l "%%a" | >nul find /i "%word2%" && ((if not exist "%folder2%" md "%folder2%")& copy /y "%%a" "%folder2%\" >nul)
)
rem 7z быстрее находит искомое.
rem arj долгий как черепаха.
pause
exit
Подправил код. Он обрабатывал один файл за цикл, из-за того, что в цикле for явно указывалось расширение проверяемых файлов.

Работает.
0
0 / 0 / 0
Регистрация: 02.11.2013
Сообщений: 19
19.02.2014, 02:18 3
А у меня этот код все еще отлично сортирует почту по вложениям )
0
19.02.2014, 02:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.02.2014, 02:18
Помогаю со студенческими работами здесь

Если исполняемый файл находится в архиве, как узнать имя этого архива?
Подскажите пожалуйста, если исполняемый файл находится в архиве, как узнать имя этого архива?

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

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

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


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

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