![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Архивация с помощью cmd с условием |
|
CMD/BAT - [решено] Архивация с помощью cmd с условием
|
Новый участник Сообщения: 7 |
Добрый день!
Прошу помощи сделать батник. Необходимо архивировать файлы с помощью командной строки, файлы логов с названием типа QWE_123456, WER_123456, ERT_123456, RTY_123456.. номер которых повторяется 5 раз, а буквы разные , необходимо архивировать их так чтобы в каждом архиве было 5 файла с одинаковыми номерами ,но не буквами и при этом надо учесть, что возможна ситуация когда есть часть файлов, например только один номер. В этом случае надо создать архив, а при следующем запуске батника обновить данный архив новыми файлами при их наличии. |
|
Отправлено: 14:47, 19-10-2021 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Цитата Kofeinchik:
Цитата Kofeinchik:
Откуда берутся номера? Вы их руками собираетесь как-то определять или надо просмотреть всю папку и обработать все возможные найденные номера? Число букв в имени всегда одинаково? |
||
------- Последний раз редактировалось megaloman, 19-10-2021 в 16:26. Отправлено: 16:09, 19-10-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Вот вариант (пути пропишИте свои):
В указанной папке BoxIn просматриваются файлы вида SSS_NNNNNN.* (S-любой символ, N - цифра) архивируются в другую папку BoxArc При наличии файлов в ранее созданном архиве переархивироваться будут только более свежие файлы. При отсутствии файлов в соответствующем архиве они будут добавлены в архив. @Echo Off cls Set "BoxIn=Z:\Box_In" Set "BoxArc=Z:\Box_Arc" Set "ARC=C:\Program Files\WinRAR\WinRAR.exe" For /F "usebackq delims=" %%f In (`2^>nul Dir "%BoxIn%\???_??????.*" /B /A:-D ^|FindStr /I /R /C:"^..._[0-9][0-9][0-9][0-9][0-9][0-9]"`) Do ( Set "Name=%%~nf" Call Set "Name=%%Name:~-6%%" Call Echo "%%f" %%Name%% Call "%ARC%" u -ibck -ep "%BoxArc%\%%Name%%" "%BoxIn%\%%f" ) pause Exit /B 7-Zip
@Echo Off cls Set "BoxIn=Z:\Box_In" Set "BoxArc=Z:\Box_Arc" Set "ARC=C:\Program Files\7-Zip.21beta\7z.exe" For /F "usebackq delims=" %%f In (`2^>nul Dir "%BoxIn%\???_??????.*" /B /A:-D ^|FindStr /I /R /C:"^..._[0-9][0-9][0-9][0-9][0-9][0-9]"`) Do ( Set "Name=%%~nf" Call Set "Name=%%Name:~-6%%" Call Echo "%%f" %%Name%% >nul Call "%ARC%" u -tzip "%BoxArc%\%%Name%%.zip" "%BoxIn%\%%f" ) pause Exit /B |
------- Последний раз редактировалось megaloman, 20-10-2021 в 20:42. Отправлено: 17:52, 19-10-2021 | #3 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата:
Цитата:
Цитата:
|
|||
Отправлено: 08:54, 20-10-2021 | #4 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Kofeinchik, переименуйте Ваш батник в .txt файл и приложите к сообщению.
Имхо, Вы где-то напутали в путях. При работе батника должны отображаться имена исходных файлов. Они отображаются? Вообще, что Вы видите при работе батника на консоли? Для отладки вставьте в батник со своими путями строку, которая организует на C: лог-файл. Приложите его к сообщению.
@Echo Off
cls
Set "BoxIn=Z:\Box_In"
Set "BoxArc=Z:\Box_Arc"
Set "ARC=C:\Program Files\7-Zip.21beta\7z.exe"
>"C:\%~nx0.log" (Dir "%BoxIn%" &Dir "%BoxArc%" &Dir "%ARC%")
For /F "usebackq delims=" %%f In (`2^>nul Dir "%BoxIn%\???_??????.*" /B /A:-D ^|FindStr /I /X /R /C:"^..._[0-9][0-9][0-9][0-9][0-9][0-9]"`) Do (
Set "Name=%%~nf"
Call Set "Name=%%Name:~-6%%"
Call Echo "%%f" %%Name%%
>nul Call "%ARC%" u -tzip "%BoxArc%\%%Name%%.zip" "%BoxIn%\%%f"
)
pause
Exit /B
|
|
------- Последний раз редактировалось megaloman, 20-10-2021 в 10:02. Отправлено: 09:52, 20-10-2021 | #5 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата:
|
|
Отправлено: 10:25, 20-10-2021 | #6 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Kofeinchik, Надо так (после Ваших уточнений):
For /F "usebackq delims=" %%f In (`2^>nul Dir "%BoxIn%\*_??????.*" /B /A:-D ^|FindStr /I /R /C:"^.*_[0-9][0-9][0-9][0-9][0-9][0-9]"`) Do ( |
------- Отправлено: 10:58, 20-10-2021 | #7 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать megaloman, Спасибо большое, так заработало.
|
Отправлено: 12:07, 20-10-2021 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Определить издание Windows с условием. (cmd\bat) | PavelVolia86 | Скриптовые языки администрирования Windows | 6 | 13-04-2014 09:57 | |
WMI - [решено] Запрос через CMD к DiskDriveToDiskPartition с условием не срабатывает | Dragokas | Скриптовые языки администрирования Windows | 2 | 28-03-2013 23:08 | |
2008 R2 - Wbadmin + cmd и архивация системного диска - как правильнее будет? | Vladskiy | Windows Server 2008/2008 R2 | 14 | 20-03-2013 08:38 | |
CMD/BAT - [решено] CMD, rar архивация файлов ( листинг ) из каталога.. | sleepnow | Скриптовые языки администрирования Windows | 1 | 13-12-2012 13:56 | |
Архивация файлов с помощью 7zip, имена которых содержат пробел | MONaH Rasta | AutoIt | 7 | 12-11-2012 13:36 |
|