![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как с помощью скрипта создать архив с динамичным названием учитывая нужные критерии |
|
CMD/BAT - [решено] Как с помощью скрипта создать архив с динамичным названием учитывая нужные критерии
|
Новый участник Сообщения: 41 |
Есть несколько файлов (количество файлов постоянно меняется), с разным названием и расширением (Например: Документ1.doc, Новый документ.xls, *.dbf и т.д. и т.п.). Нужно эти файлы заархивировать с помощью Winrar .
Но основная проблема не в самой архивации, а в создании нужного имени архива. Например, нужно заархивировать файлы в rar-архив с названием этого архива P20aabc1.P01, где: – Р и Р01…Р99(причем вместо Р может быть любая буква латинского/английского алфавита которая выбирается пользователем). При формировании названия архива, нужно чтобы скрипт «спрашивал», что писать в расширении архива Р01 или Р02…Р99 и соответственно если пользователь ответит С01, то название будет типа С20аabc1.С01; – 20 - сегодняшнее число месяца; – а - буквенный «номер» месяца (a-январь;b-февраль;c-март; d-апрель; e-май; f-июнь; g-июль; h-август; i-сентябрь; j-октябрь; k-ноябрь; l-декабрь ![]() – abc- три буквы латинского алфавита которые есть постоянные(статичные) в отличие от букв обозначающих месяц создание архива они неизменны в отличии от остальных символов; – 1 - это номер архива по порядку от 1 до 9(после девятого архива номер снова должен начинаться с 1, прежде всего это связано с тем, что название созданного архива должно соответствовать 8 символом название и 3символа расширение архива). Вероятность, что название архива в один день будет одинакова – ничтожна, ибо символы Р и Р01 меняются в зависимости от выбора пользователя(можно выбрать А и А01…А99). Между первой буквой названия архива и расширением (Р и Р01) есть взаимосвязь, то есть в названии архива не должно быть А20aabc1.P01 или P20aabc1.А01 – должно быть P20aabc1.P01 или А20aabc1.А01. 1. затем скопировать в архивную директорию C:\YYYY\MM\DD\ (Например сегодня папка архива будет – С:\2011\01\20\); 2. потом этот файл скопировать в другую папку D:\mail\out. Возможно ли процесс создания названия архивного файла написать с помощь скрипта или тут поможет только язык программирования? |
|
Отправлено: 14:18, 20-01-2011 |
Новый участник Сообщения: 41
|
Профиль | Отправить PM | Цитировать Цитата yaoleg2:
Спасибо за помощь!!! |
|
Отправлено: 09:50, 07-11-2013 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата yaoleg2:
Цитата yaoleg2:
|
||
Отправлено: 10:06, 07-11-2013 | #12 |
Новый участник Сообщения: 41
|
Профиль | Отправить PM | Цитировать Iska, такая ситуация бывает редко, но когда бывает перезаписываются некоторые архивы, что не есть хорошо
![]() |
Отправлено: 21:17, 07-11-2013 | #13 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать yaoleg2, знаете выход из этой ситуации? Достаточно просто добавлять к имени архива дату и время его создания. Без изобретения всяких игр с нумерацией цифрами, а затем латинским алфавитом.
|
Отправлено: 22:07, 07-11-2013 | #14 |
Новый участник Сообщения: 41
|
Профиль | Отправить PM | Цитировать Iska, все было-бы проще если б не правила создания архива, которым эти архивы и должны соответствовать иначе мы будем наказаны
![]() Или может быть, можно как-нибудь проверять архивную директорию на наличие файла с таким названием и если есть такое название архива менять цифру 1 на 2 или 3 ...9 ? |
Отправлено: 22:23, 07-11-2013 | #15 |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать А какие проблемы добавить if exist ?
Например: if not "%n:~1,2%"=="%day%" (set i=1) else (set /a i=%n:~0,1%+1) :loop if exist ... ( set /A i+=1 goto loop ) Да и с заменой номера на букву проблем нет: Только надо позаботиться, чтобы i не превысило 35. |
------- Последний раз редактировалось Гуллипут, 08-11-2013 в 14:56. Причина: Дополнение Отправлено: 14:16, 08-11-2013 | #16 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Установка - [решено] Обновления от Microsoft: нужные, не нужные. Польза или вред. | flev45 | Microsoft Windows 7 | 18 | 29-09-2010 13:05 | |
Разное - [HELP] Как создать SFX-CAB архив? | WindLiS | Наборы обновлений для Windows XP/2003/Windows 7 | 8 | 06-03-2010 13:02 | |
[решено] Как с помощью CMD(BAT) запустить запароленный sfx архив! | ofcoss | Автоматическая установка приложений | 7 | 10-07-2009 00:41 | |
[решено] Как создать учетные записи с помощью скрипта? | fm72 | Microsoft Windows NT/2000/2003 | 4 | 29-09-2005 14:01 | |
Как создать файл с помощью CGI скрипта. | lehha | Программирование и базы данных | 1 | 20-11-2003 09:48 |
|