Добрый день.
Начали использовать SonarQube для контроля качества кода. Сама разработка ведется в конфигураторе с использованием хранилища.
В работе используем типовые конфигурации с доработками. Контроль качества кода типовой конфигурации не интересен, интересует только контроль доработок, да и выполняется он быстрее :) полная проверка конфигурации просто умирает из-за нехватки памяти.
Соответственно, стоит задача автоматизировать выгрузку конфигурации, но сделать ее частичной. Поскольку частичной выгрузки не нашел, то смотрю в сторону полной выгрузки с дальнейшей обработкой какими-нибудь инструментами с использованием регулярных выражений. Для начала хочу получить структуру каталогов с файлами, в названии которых присутствует определенный префикс "МояДоработка" например. В идеале - файлы, имена которых содержат префикс, плюс файлы в тексте которых присутствует определенные комментарии вроде "Иванов ++".
И да, прошу помощи :)
Начали использовать SonarQube для контроля качества кода. Сама разработка ведется в конфигураторе с использованием хранилища.
В работе используем типовые конфигурации с доработками. Контроль качества кода типовой конфигурации не интересен, интересует только контроль доработок, да и выполняется он быстрее :) полная проверка конфигурации просто умирает из-за нехватки памяти.
Соответственно, стоит задача автоматизировать выгрузку конфигурации, но сделать ее частичной. Поскольку частичной выгрузки не нашел, то смотрю в сторону полной выгрузки с дальнейшей обработкой какими-нибудь инструментами с использованием регулярных выражений. Для начала хочу получить структуру каталогов с файлами, в названии которых присутствует определенный префикс "МояДоработка" например. В идеале - файлы, имена которых содержат префикс, плюс файлы в тексте которых присутствует определенные комментарии вроде "Иванов ++".
И да, прошу помощи :)
По теме из базы знаний
- Инструменты для плана обмена (выгрузка/загрузка зарегистрированных изменений справочников)
- Выгрузка файлов интеграции из ЕРП 2.0 в ПАК MapXPlus Distrib
- Выгрузка-загрузка данных в XML с отбором по организации и сопоставление объектов справочников по GUID. Не задваивает объекты при загрузке
- Выгрузка и загрузка XML для управляемых форм 8.3 (с отбором)
- Выгрузка документов обработкой XML с отбором по реквизиту. Частичная выгрузка документов обработкой XML
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
На первую часть вопроса я нашел ответ:
В powershell например:
$src = "Папка-источник";
$dst = "Папка-приемник";
Get-ChildItem -path $dst | Remove-Item -Recurse -Confirm:$false -Force;
foreach ($dirname in Get-ChildItem -Path $src -Recurse -Name -attributes D | Select-String -pattern "МояДоработка_")
{Copy-Item "$src$dirname" -Destination "$dst$dirname" -Force -Recurse -Filter "*.bsl"}
В powershell например:
$src = "Папка-источник";
$dst = "Папка-приемник";
Get-ChildItem -path $dst | Remove-Item -Recurse -Confirm:$false -Force;
foreach ($dirname in Get-ChildItem -Path $src -Recurse -Name -attributes D | Select-String -pattern "МояДоработка_")
{Copy-Item "$src$dirname" -Destination "$dst$dirname" -Force -Recurse -Filter "*.bsl"}
(2)Первую часть пришлось подкрутить, задваивались файлы в подчиненных каталогах.
Остановился на следующем варианте:
$src = "Папка-источник";
$dst = "Папка-приемник";
Get-ChildItem -path $dst | Remove-Item -Recurse -Confirm:$false -Force;
foreach ($dirname in Get-ChildItem -Path $src -Recurse -Name -Directory | Select-String -pattern "МояДоработка_")
{foreach ($filename in Get-Item -Path "$src$dirname\\*" -Filter "*.bsl") {echo F | xcopy "$filename" ("$dst$dirname"+$filename.name) /Y > null}}
Остановился на следующем варианте:
$src = "Папка-источник";
$dst = "Папка-приемник";
Get-ChildItem -path $dst | Remove-Item -Recurse -Confirm:$false -Force;
foreach ($dirname in Get-ChildItem -Path $src -Recurse -Name -Directory | Select-String -pattern "МояДоработка_")
{foreach ($filename in Get-Item -Path "$src$dirname\\*" -Filter "*.bsl") {echo F | xcopy "$filename" ("$dst$dirname"+$filename.name) /Y > null}}
(4)Исправление опечатки:
$src = "Папка-источник";
$dst = "Папка-приемник";
Get-ChildItem -path $dst | Remove-Item -Recurse -Confirm:$false -Force;
foreach ($dirname in Get-ChildItem -Path $src -Recurse -Name -Directory | Select-String -pattern "МояДоработка_")
{foreach ($filename in Get-Item -Path "$src$dirname\\*" -Filter "*.bsl") {echo F | xcopy "$filename" ("$dst$dirname"+$filename.name) /Y > nul}}
$src = "Папка-источник";
$dst = "Папка-приемник";
Get-ChildItem -path $dst | Remove-Item -Recurse -Confirm:$false -Force;
foreach ($dirname in Get-ChildItem -Path $src -Recurse -Name -Directory | Select-String -pattern "МояДоработка_")
{foreach ($filename in Get-Item -Path "$src$dirname\\*" -Filter "*.bsl") {echo F | xcopy "$filename" ("$dst$dirname"+$filename.name) /Y > nul}}
(7) Добавил использование стандартного вывода powershell, другие варианты не работали:
$src = "Папка-источник";
$dst = "Папка-приемник";
Get-ChildItem -path $dst | Remove-Item -Recurse -Confirm:$false -Force;
foreach ($dirname in Get-ChildItem -Path $src -Recurse -Name -Directory | Select-String -pattern "МояДоработка_")
{foreach ($filename in Get-Item -Path "$src$dirname\\*" -Filter "*.bsl") {echo F | xcopy "$filename" ("$dst$dirname"+$filename.name) /Y | out-null}}
$src = "Папка-источник";
$dst = "Папка-приемник";
Get-ChildItem -path $dst | Remove-Item -Recurse -Confirm:$false -Force;
foreach ($dirname in Get-ChildItem -Path $src -Recurse -Name -Directory | Select-String -pattern "МояДоработка_")
{foreach ($filename in Get-Item -Path "$src$dirname\\*" -Filter "*.bsl") {echo F | xcopy "$filename" ("$dst$dirname"+$filename.name) /Y | out-null}}
Вторую часть решил так:
$src = "Папка-источник";
$dst = "Папка-приемник";
foreach ($filename in Get-ChildItem -Path $src -Recurse -Filter "*.bsl" | Select-String -pattern "Иванов++")
{echo F| xcopy $filename.path ($filename.path -replace $src,$dst) /Y}
осталось понять как получить список уникальных файлов во второй части
$src = "Папка-источник";
$dst = "Папка-приемник";
foreach ($filename in Get-ChildItem -Path $src -Recurse -Filter "*.bsl" | Select-String -pattern "Иванов++")
{echo F| xcopy $filename.path ($filename.path -replace $src,$dst) /Y}
осталось понять как получить список уникальных файлов во второй части
(5)Исправление опечатки:
$src = "Папка-источник";
$dst = "Папка-приемник";
foreach ($filename in Get-ChildItem -Path $src -Recurse -Filter "*.bsl" | Select-String -pattern "Иванов++" -List)
{echo F| xcopy $filename.path ($filename.path -replace $src,$dst) /Y > nul}
$src = "Папка-источник";
$dst = "Папка-приемник";
foreach ($filename in Get-ChildItem -Path $src -Recurse -Filter "*.bsl" | Select-String -pattern "Иванов++" -List)
{echo F| xcopy $filename.path ($filename.path -replace $src,$dst) /Y > nul}
(6) Добавил использование стандартного вывода powershell, другие варианты не работали:
$src = "Папка-источник";
$dst = "Папка-приемник";
foreach ($filename in Get-ChildItem -Path $src -Recurse -Filter "*.bsl" | Select-String -pattern "Иванов++" -List)
{echo F| xcopy $filename.path ($filename.path -replace $src,$dst) /Y | out-null}
$src = "Папка-источник";
$dst = "Папка-приемник";
foreach ($filename in Get-ChildItem -Path $src -Recurse -Filter "*.bsl" | Select-String -pattern "Иванов++" -List)
{echo F| xcopy $filename.path ($filename.path -replace $src,$dst) /Y | out-null}
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот