Как заархивировать папку с файлами bat
Для создания архива файловой базы 8.2 достаточно в принципе прописать одну строчку в пакетном файле:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" config /f %SOURC% /N %USER% /P %PASSVD% /DumpIB %DIRNAME%\%FILENAME%.dt
Для базы клиент-серверной вместо ключа /f используем ключ /s
Такая строка открывает базу в режиме конфигуратор под определенным пользователем и создает архивную копию в указанный каталог. Использую для определения параметров запуска и путей переменные среды, которые определяются вначале пакетного файла. Но можно указать конкретные значения параметров сразу в этой конструкции и запускать .bat файл с одной строкой. Но при этом есть угроза затереть создаваемый перезаписываемый архив при любом сбое.
Поэтому увеличение количества строк в .bat файле обусловлено созданием резервного копирования архива.
Есть две особенности при задании переменных среды:
1.Пакетные файлы не дружат с кириллицей. Пути , пользователь и пароль должны быть прописаны с использованием только английского шрифта и цифр.
2.Между именем переменной среды, знаком равенства и значением переменной не должно быть пробела: PBACKUP=D:\backup\1Cv8
Строка tskill *1cv8* /a /v
- очистка зависших терминальных сессий
Остальные три строки команд предназначены для резервирования архивных копий.
if exist %PBACKUP%.dt copy %PBACKUP%.dt %PBACKUP%_old.dt
– копирует файл с именем 1Cv8.dt в файл с именем 1Cv8_old.dt То есть, сохраняет(перезаписывает) предыдущий архив перед созданием нового.
3,2% == 0101 copy %PBACKUP%.dt %PBACKUP%%date:
- Если текущая дата равна дате начала года копирует созданный архив в файл с датой в имени файла , например 1Cv801012012.dt , чтобы он хранился в архивной папке и не затирался.
3,2% == 0107 copy %PBACKUP%.dt %PBACKUP%%date:
- резервирует копию базы за дату 01.07. каждого года.
При использовании пакетного файла из публикации достаточно в переменных среды указать конкретные данные по вашей базе и каталогу сохранения архива и создать для него удобное для вашего сервера назначенное задание Windows.
Батник для архивирования файлов и папок. Бэкап 1С баз.
Сейчас я расскажу о том, как при помощи bat-файлов можно архивировать файлы и папки как на локальном компьютере, так и в сети организации.
Внимание. Для использования данного метода архивирования у Вас на компьютере должна быть установлена программа WINRar.
Рассмотрим пока самый простой вариант архивирования записью в одну строчку.
. При копировании кавычки надо переписать (поменять).
Теперь коротко о том что тут написано
Вот что бывает без указания параметра chcp 1251
По факту можно создать файл с расширением *.bat, сохранить в нем одну строчку и все будет работать. Но это всего лишь одноразовый и не удобный вариант.
Присвоение архиву даты создания. Автоматическое архивирование батником.
0,2%
set month=%DATE:
3,2%
set year=%DATE:
Заметьте, что переменные времени добавляются в том месте, где указывается путь к архивному файлу и его название. Варьировать местами год, месяц и день можете на свое усмотрение.
Архивирование с заданным количеством бэкапов (архивов)
К примеру, Вы захотели, чтобы у Вас всегда был архив за три последних дня.
Для такого метода бэкапа Вам понадобится, своего рода, временное хранение архивного файла. Проще говоря, папка отличная от места хранения основных бэкапов.
Вот как будет выглядеть весь скрипт:
0,2%
set month=%DATE:
3,2%
set year=%DATE:
В итоге у нас получилось 3 архива в папке, последний из которых с указанием даты создания
Как видите, я создал отдельную папку D:\timearh для основного временного архива.
if exist D:\arhiv\papka_03*.rar del D:\arhiv\papka_03*.rar
if exist D:\arhiv\papka_02*.rar ren D:\arhiv\papka_02*.rar papka_03.rar
if exist D:\arhiv\papka_01*.rar ren D:\arhiv\papka_01*.rar papka_02.rar
Эти три команды нужды ля переименовывания основных файлов в сторону увеличения четности и удаления самого последнего файла, в нашем случае третьего. По сути, количеством этих строчек Вы и регулирует общее количество создаваемых архивов. Для увеличения бэкапов достаточно лишь дописать нужное количество строчек и не забыть переименовать порядок.
Данный вариант идеально подходит для бэкапа 1С баз. Он полностью автоматизирован, можно спокойно хранить месячный (а то и больший) архив баз.
Для того чтобы быстро создавать архив с помощью архиватора 7-zip, напишем такой скрипт и сохраним его с расширением *.bat:
Этот скрипт автоматически называет файл в соответствии с текущей датой. Чтобы скрипт запускался автоматически, можно создать в планировщике задач Windows задание и указать расписание: Панель управления – Администрирование – Планировщик заданий. В планировщике нажимаем Создать задачу, на вкладке Действие добавляем Запуск программы и указываем путь к нашему bat-файлу. Настраиваем расписание на вкладке Триггеры.
Такой приём позволяет не беспокоиться о том, что резервная копия важных данных будет не сделана.
Кстати, приведённый макрос %DATE% будет нормально форматировать дату только если язык системы – русский. Если ваша система имеет другой язык, то при форматировании даты могут возникнуть проблемы. В этом случае используйте %DATE% без подстрок:. d:\Baсkup\%DATE%.7z
Также можно создавать архивы с паролем. Это убережёт Ваши данные, если они попадут не в те руки. Всё что нужно для создания архива с паролем – добавить в конец предыдущего скрипта параметр -p, а сразу за ним без пробела пароль, например:
Можно также указать степень сжатия от 0 до 9, например, -mx9 означает максимальную степень сжатия.
Также имеет смысл убрать некоторые расширения файлов из создаваемого архива, например, временные *.tmp и *.cache файлы. Для этого нужно добавить их в список исключений вот таким образом: . Здесь аргумент -x обозначает «исключить» (eXclude), а восклицательный знак означает поисковый запрос (wildcard), который выбирает файлы с заданным расширением.
Полный перечень возможных параметров командной строки, передаваемых исполняемому файлу архиватора 7zip, приведён на рисунке:
Перечень аргументов командной строки архиватора 7-zip
Думаю, многим пригодится скрипт для автоматического архивирования содержимого директории, исключая файлы с определённым расширением. Пример такого скрипта ниже, BAT файл со скриптом просто кладётся в директорию с файлами и по двойному клику создаёт архив с датой и временем в имени файла
@Echo off
setlocal EnableDelayedExpansion
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:
12,2%"
set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"
set set "mypath=%cd%"
"c:\Program Files\7-Zip\7z.exe" a %fullstamp%.7z %mypath%* -r -x^^!*.7z -x^^!*.bat
"c:\Program Files\7-Zip\7z.exe" a %fullstamp%.7z %mypath%* -r -x^^!*.7z -x^^!*.batпараметрами -x^^!*.7z -x^^!*.bat задаётся исключение файлов с расширениями *.7z и *.bat (тут можете добавить свои) из списка архивирования - таким образом внутрь архива попадают только нужные файлы.
c:\Program Files\7-Zip\7z.exe - путь к 7-Zip архиватору (должен быть установлен перед началом использования)
Видео использования ниже
Лига Сисадминов
659 постов 12.4K подписчиков
Правила сообщества
cmd в 2021 году? серьезно?
У меня ощущение, что или люди сами себе придумывают сложности или видят "магию" в том что они делают
Потому что то, что сделано у ТС - выглядит как магия, а powershell - нет (код возможно с ошибками, нужен больше для демонстрации)
$filename=$(get-date -Format "yyyy-MM-dd_HH-mm-ss").ToString()ну или можно 7z немного модифицировав последнюю строку ТСа под posh
get-childitem ./ -exclude *.zip,*.ps1,*.bat | compress-archive -destinationPath ./$ filename.zip
Никогда не понимал желания впиливать окошко со своим фейсом в подобные видео. Что это дает? Ну даже если так, ну надень футболку хотя бы.
где мой 2003-й год.
Делал нечто подобное на vbs.
Архивирует всю папку рекурсивно и помещает архив в родительскую директорию.
' z0_foldr_2_arh.vbs
' trdm 2021-05-23 17:39:47
' Архивация текущей дирректории.
set gWsh = CreateObject(" WScript.Shell ")
set gFso = CreateObject("Scripting.FileSystemObject")
set gCurDir = gFso.GetFolder(gWsh.CurrentDirectory)
dim gCurDirSN : gCurDirSN = gCurDir.Name
set gParent = gCurDir.ParentFolder
Function FNS(psNum, psVN)
FNS = Right("00000000000000000"+CStr(psNum),psVN)
End Function
Function formatDT(psDate)
vStr = ""+CStr(Year(psDate))
vStr = vStr + FNS(Month(psDate),2)
vStr = vStr + FNS(Day(psDate),2)
vStr = vStr + "_"
vStr = vStr + FNS(Hour(psDate),2)
vStr = vStr + FNS(Minute(psDate),2)
vStr = vStr + FNS(Second(psDate),2)
formatDT = vStr
End Function
Sub runArhive()
vFileName = gCurDirSN + "_"+formatDT(Now)+".7z"
gWsh.CurrentDirectory = gParent.Path 'msgbox vFileName 'msgbox gWsh.CurrentDirectory
vCommand = "7z a "+vFileName+" .\"+gCurDirSN+"\* -r" ' msgbox vCommand
gWsh.Exec vCommand 'msgbox gCurDirSN 'gParent.Path
End Sub
runArhive
Если стояла задача сделать то, что другой поддерживать не сможет, то она выполнена на отлично!
Красота ж какая. -)
Спасибо ТС - мне вот как раз именно оно и надо было.
Вот если б кто б подсказал бы ещё - какой командой запаковать содержимое сетевого диска с исключением папок SystemVolumeInformation и $RECYCLE.BIN. то я б. наверное б. стал б. В общем счастья мне б в жизни б прибавилось :-)
а что даёт удвоение "set" в предпоследней строке? типа так надёжней?
Мои юные коллеги (ИТшники!) совсем недавно от меня узнали о возможности многотомного архива с определёнными размерами файлов (в outlook есть ограничение на объем вложения)
ну да, они ж не записывали. Windows 3.1 на дискеты))
У меня как раз встал такой вопрос, но немного по другому. Ответа пока не нашёл. Можно этим способом указать за какую дату брать файлы для архива? Мне надо автоматически из указанной директории архивировать файлы за текущую дату посредством 7 Zip. Сторонних программ ставить не могу, так как комп рабочийЭтож надож. Столько строк чтобы сформировать таймстамп ))) Как была консоль винды убогим говном, так и осталась.
ПыСы: если нужны именно скрипты (а не ебучие танцы с бубном) - пишу все на перле.
По логике работы вопрос: сколько раз в минуту запускается данный скрипт и как долго он работает? Тогда зачем секунды в имени?
Мне кажется, прога cobian все то же самое умеет, да ещё и хранит определенное число копий, удаляя самую старую.Невероятно!
Тибетский монах был обнаружен в горах Непала. Он считается самым старым человеком на планете с возрастом в 201 год. Он находится в состоянии глубокого транса, или медитации, под названием "такатет".
Когда его обнаружили в пещере, спасатели сначала подумали, что это просто мумия.
Но ученые, в дальнейшем изучавшие его, обнаружили, что у него есть пульс, хоть и очень медленный.
Рядом с ним лежали его вещи. На одном из кусков бумаг было написано: "иди спать и хватит верить всему, что читаешь на Пикабу".
Баянометр молчал, извините если уже было :)
Само зло
Современные методы работы с населением
Как решить проблему с беженцами придумали ещё в 2002 году
Мама - алиментщик, горе в семье
На мой взгляд примерно 100% мам игнорирует выплаты вообще, искренне считая что "женщина никогда не должна платить алименты".
Одну половину мы помыли Fairy.
Ответ на пост «Насчет мигрантов на стройках»
Ещё раз о мигрантах и т.н. "не желании наших граждан работать НА ТАКИХ РАБОТАХ за ТАКУЮ ЗАРПЛАТУ" (. )
Я, почему то, когда слышу выше приведённую отмазку наших предпринимателей и чиновников, всегда слышу другое. А именно "Мы не сможем так же навариваться и так же выжимать работников как сегодня, если это будут россияне. По этому гастарбайтеры нам выгоднее. " А как Вы думаете?
Воссоздание старых модельных фотографий своего отца
Исповедовал
Цитата, которая просится в народ!
Искусственный интеллект ерунды не подскажет)
Долг полмиллиона в 19 лет
Привет, Пикабу!
Не знаю куда себя деть, поэтому хочу рассказать свою историю жизни вам, может быть надеясь на вашу помощь, ведь здесь явно есть люди, которые более опытные в сфере закона.
Мне 19 лет. И так в моей жизни вышло, что я будучи студентом уже имею долгов порядка полумиллиона рублей.
Это долг за неоплаченные коммунальные платежи квартиры, в которой я прописана. Началось это ещё за долго до моего совершеннолетия, родители мои не пьют, не употребляют, ведут адекватную жизнь, последние 5 лет официально они не работают (мама по состоянию здоровья, отец - не знаю) и на чем основывается прекращение оплаты за квартиру я тоже не знаю…
Из-за того, что квартира не приватизирована (квартиру эту выдавали еще родителями моего отца, они же и не хотели ее приватизировать, почему не знаю, умерли они 2012-13 годах, насколько помню, уже тогда перестали все оплачивать ком.платежи, что способствовало проблеме приватизации, так как квартиру можно приватизировать только если нет долга…) долг налагается на всех прописанных (папа, я, сестра и ее дочь, но не так давно она выписалась со своей несовершеннолетней дочерью (она также является нанимателем)).
Проблема долгов меня ещё начала беспокоить очень давно, примерно с возраста 14 лет точно.
До совершеннолетия я пыталась выписаться из квартиры к своим родственникам, чтобы избежать долга, но они, если мягко сказать, не согласились. Выбора куда вписаться у меня больше не было.
После совершеннолетия мне арестовали все мои карты, сначала это были не большие суммы в пределах 2-5 тысяч (но даже таких сумм я не имела, чтобы гасить долги, потому что живу я за свой счёт, а по большей части это только моя стипендия).
Чуть позже мне арестовали мою стипендиальную карту уже на 50т.р., взимая полную сумму стипендии ежемесячно (которая составляет 1006 рублей), чуть позже я начала получать стипендию на другую карту, до этого я, конечно, пыталась решить проблему арестов, но ничего не вышло, потому что к приставам попасть было просто невозможно.
Проблем, конечно, меньше не стало. Мои родители и сестра из-за этого в сильной ссоре, она пытается все сделать, чтобы эту квартиру забрали (Она считает, что тем самым у неё заберут долги и за квартиру). Чего, конечно, не произойдёт. Родители тоже что-то сейчас пытаются сделать, но из-за того что сестра моя наниматель квартиры они ничего сделать не могут. (Потому что не хочет им помогать)
И получается, что к друг другу на контакт обе стороны не идут, высказываются все они мне и по итогу козел отпущения я, потому что я не хочу и не собираюсь переходить на чью либо сторону. Но наверное сейчас дело идёт не о них, а конкретно что же сделать мне.
На днях мне пришло постановление на гос.услуги о том, что с меня требуют 486,430 рублей за неоплаченные коммунальные платежи, которые я якобы должна добровольно оплатить в течение 5 дней. (Также на гос.услугах уже есть одно постановление на сумму 12400 тоже за неоплаченные ком.услуги. На сбере арестовано порядка 110тысяч рублей и на запсибе 47 тысяч рублей).
Я всю ночь не спала, читала как решить эту проблему и пока что вот, что у меня из этого вышло:
Долг на ноябрь 2021 составляет: 468 430,21р (по квитанции).
1. Коммунальщики могут требовать долг за три года, или 36 месяцев. (Порядок применения исковой давности: Исковая давность не может прерываться посредством бездействия должника (статья 203 ГК РФ). То обстоятельство, что должник не оспорил платежный документ о безакцептном списании денежных средств, возможность оспаривания которого допускается законом или договором, не свидетельствует о признании им долга.)
(Признание части долга, в том числе путем уплаты его части, не свидетельствует о признании долга в целом, если иное не оговорено должником.)
Я не знаю применяется ли в моём случае исковая давность, но по факту я никаких долгов не признавала.
Допустим,
4930*36=177,480 р. (Основной долг, сумма, конечно, не точная, потому что нет квитанций, но хотя бы приближенная)
468,430 - 177,480 = 290,950 р.— Этот долг не смогут взыскать через суд, в том числе пеню, которую на эту сумму начислили.
Соответственно, на настоящий момент долг на всех жильцов квартиры составляет 177,480р.
(Точную сумму можно узнать по старым квитанциям, которых у меня нет, да и у родителей тоже)
2. Нельзя взыскивать солидарно долги, возникшие до моего совершеннолетия. (ГК РФ Статья 21. Дееспособность гражданина; СК РФ Статья 64. Права и обязанности родителей по защите прав и интересов детей; СК РФ Статья 56. Право ребенка на защиту) По закону за несовершеннолетнего собственника ЖКУ должны оплачивать родители или другие законные представители, даже если они живут отдельно. Это значит, что я должна платить за ЖКУ только после того, как мне исполнилось 18 лет. (Если мне сейчас 19,8 лет, я должна заплатить только за 22 предыдущих месяца, а за 14 предыдущих — в пределах срока исковой давности — должны платить мои мать и отец.)
Соответственно, долг с момента моего совершеннолетия (март 2020 по ноябрь 2021) составляет на всех прописанных жителей 108,460р (сумма опять же не точная, а приближенная), следовательно, эта сумма делится на всех прописанных жителей квартиры:
108 460 : 4 = 27,115р. - составляет солидарный долг на каждого прописанного на период марта 2020г по ноябрь 2021г. (За этот период есть некоторые проблемы, например, то что сестра с дочерью выписались и из чего я не знаю как правильно высчитать солидарный долг, но он 100% не будет составлять больше 40тысяч)
3. Так как, я студент на очном отделении дневного обучения бюджетного финансирования(прилагается справка), я не имею возможности работать, чем является одна из причин, из чего следует, что у меня нет иных доходов, для обеспечения себя даже проживанием на прожиточной минимум, так как моя гос.стипендия составляет 1006,25р. (И иных доходов я не имею, родители меня ничем не снабжают. Одеваюсь, обуваюсь и тд я лично за свой счёт).
4. На основе вышеуказанного я хочу опротестовать постановление о возбуждении исполнительного производства, вынесенное в рамках исполнительного производства № 2*****/21/720**-ИП Причина: неоплаченные коммунальные платежи в соответствии с судебным приказом № 2-****2021/14/16м от 17.11.2021. Взыскатель: ООО УК "Юг", так как, на основе всех выше указанных причин, я считаю, что сумма штрафа является не верной и требуется отмене, либо перерасчету.
Но проблема ещё в том, что я не могу записаться к приставам, ни у самого пристава, ни у дежурного нет записи.
Также я хочу выписаться из квартиры, чтобы больше старые долги меня не беспокоили, потому что по закону они не мои, а от своих я не отказываюсь и готова решать проблему с ними в отличие от своей семьи!
Также до этого я думала объявить себя банкротом через МФЦ, но для начала нужно идти к приставам о прекращении этих постановлений.
Счастье
Новый элемент в фигурном катании
Вчера на гран-при Франции. Венгерская пара Юлия Щетинина и Марк Мадьяр.
Зато без налога
Доказательство ОТО!
"Веселые" соседи
Читайте также: