|
cmd/Bat для копирования файловой БД 1с83 | ☑ | ||
---|---|---|---|---|
0
Satdar4uk
06.09.19
✎
18:51
|
Всем доброго времени суток.
Помогите плз с реализацией бекапа базы 1с83 через батник. Проблемы возникают т.к. на каждой локальной машине путь к базе задан по разному - собственно хотелось бы узнать как подцепить его либо через реестр, либо через ibases либо еще как то. Под бекапом я подразумеваю ручное копирование файла БД(без сжатия, изменения расжирения и т.д.) Заранее спасибо) |
|||
1
MyNick
06.09.19
✎
19:23
|
Буковка Я справа от заголовка не помогает?
|
|||
2
MyNick
06.09.19
✎
19:23
|
У вас на каждой локальной машине своя база чтоле?
|
|||
3
Satdar4uk
06.09.19
✎
19:36
|
Да, на каждой машине локальная файловая база и толстый клиент. Тащем то нужен батник для 1)chdbfl/тестирования и исправления при этом 2)делающий бекап в виде простого копипаста файла бд. И если с 1 пунктом проблем нет, то со вторым - перелазил кучу форумов, но не нашел как найти пусть к текущей бд
|
|||
4
Мимохожий Однако
06.09.19
✎
19:38
|
Установи Cobian Backup и не парься
|
|||
5
Satdar4uk
06.09.19
✎
19:40
|
Я бы с радостью использовал стороннее по, но на каждой локальной машине по условию тз нужно обходиться дефолтным набором программ(т.е. ничем ктоме собсна 1с и cmd)
|
|||
6
Мимохожий Однако
06.09.19
✎
19:44
|
(5) Тогда парься. Идиотизм не победим.
|
|||
7
Satdar4uk
06.09.19
✎
20:19
|
(1) Почти все решения предполагали заранее известный путь к бд, а мы его не знаем, яндекс с гуглом увы не помогли
|
|||
8
kostik79
06.09.19
✎
22:16
|
(0) Напиши внешнюю обработку, которая генерит батник прямо из рабочей базы 1С
|
|||
9
kostik79
06.09.19
✎
22:17
|
раз ничем сторонним нельзя пользоваться
|
|||
10
GGDots
06.09.19
✎
22:54
|
Если я все правильно понял, то проблемы то и не должно возникнуть:
на powershell пишешь поиск и парсинг файла "ibases" на компе: $File = Get-ChildItem C:\Users\* -Include *.v8i -Recurse -Force foreach ($line in Get-Content $File) { $line //здесь на условиях получаешь путь к каталогу с базой (хоть ко всем) } В итоге в цикле с помощью нужных условий получаешь путь к нужной базе (Connect=File="C:\Users\Херузерс\Documents\InfoBase";), или ко всем если не знаешь какую надо сохранить и в цикле же выполняешь нужные действия - переносишь в другое место и т.д. Потом делаешь батник из powershell: https://craft1c.ru/powershell-zapusk-bat-fajjla/ Делов то 10 минут, не? или я чего не понял... |
|||
11
kostik79
06.09.19
✎
23:08
|
(10) А как понять, какая база нужная? Я так понял, что ТС (или его клиентам) нужен универсальный батник для любого компа, который делает бекап нужной базы...
|
|||
12
palsergeich
06.09.19
✎
23:09
|
(11) Какая база нужная в гипотетическом списке из 100 баз?
Какое ТЗ такой и результат |
|||
13
palsergeich
06.09.19
✎
23:10
|
(12) + Опять же можно повершелл?
Стоит ли дотнет на машинах? |
|||
14
palsergeich
06.09.19
✎
23:12
|
(13) Я у таких озабоченных из повершелла запускал скрипт на C# потому что никакого архиватора на машине не было, а архивировать надо было)
Повершелл древний и сам еще не мог архивировать |
|||
15
kostik79
06.09.19
✎
23:20
|
(12) Похоже на очередную нереальную хотелку, как говорится: без внятного ТЗ - и результат ХЗ
|
|||
16
GGDots
06.09.19
✎
23:21
|
(11) Ну в любом случае мы не узнаем здесь полное тз, и по каким параметрам он будет определять нужную базу: по размеру, по имени, по порядку, по вхождению символов и т.д. :)
Но как общее решение вполне пойдет, а там уже сам пускай пляшет:) $File = Get-ChildItem C:\Users\* -Include *.v8i -Recurse -Force foreach ($line in Get-Content $File) { If($line.Contains('Connect=File')) { $PathBase = $line.ToString() $PathBase = $PathBase.Replace("Connect=File=","") $PathBase = $PathBase.Replace(";","") $PathBase = $PathBase.Replace("""","") $PathBase #твой каталог с базой, к примеру E:\1c\Bases\InfoBase5 #$PathBase = $PathBase + "/*" #все подпапки и файлы #и копируешь его Copy-Item -Path $PathBase D:\Backups\ -recurse -Force } } |
|||
17
kostik79
06.09.19
✎
23:32
|
(16) Поэтому я и предложил внешнюю обработку. Ведь ТС не хватает только пути к базе, остальной код батника уже есть, а из обработки, открытой в нужной базе, путь вытаскивается без проблем. Код батника + путь в нужном месте этого кода, сохраняем в хотелка.bat и всё. конечному юзеру останется только открыть обработку на нужной машине, нажать кнопочку и батник готов.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |