Небольшой скрипт на поше.
$path1c = "c:\Program Files\1cv8\common\1cestart.exe"
$arg1c = "CREATEINFOBASE Srvr=""{0}"";Ref=""{1}"";DBMS=""{2}"";DBSrvr=""{3}"";DB=""{1}"";DBUID=""{4}"";DBPwd=""{5}"";CrSQLDB=""Y"";SchJobDn=""N""; /AddInList {1} /Out create.log"
$srvr = Read-Host "Введите значение для переменной Srvr"
# Выбор типа ДБ
$validDBMSOptions = @("PostgreSQL", "MySQL", "SQL Server")
Write-Host "Выберите значение для переменной DBMS:"
for ($i = 0; $i -lt $validDBMSOptions.Count; $i++) {
Write-Host ("{0}. {1}" -f ($i + 1), $validDBMSOptions[$i])
}
while ($true) {
$choice = Read-Host "Введите номер выбранного варианта (1-$($validDBMSOptions.Count))"
if ([int]::TryParse($choice, [ref]$null) -and $choice -ge 1 -and $choice -le $validDBMSOptions.Count) {
$bd_type = $validDBMSOptions[$choice - 1]
break
}
Write-Host "Введено некорректное значение, попробуйте снова."
}
$db_srv = Read-Host "Укажите сервер субд"
$bd_user = Read-Host "Пользователь субд"
$bd_pass = Read-Host "Пароль субд"
$refFile = Read-Host "Путь к текстовому файлу"
Get-Content -Path $refFile | ForEach-Object {
$ref = $_.Trim() # удаление возможных пробелов в начале и конце строки значения
$command = $arg1c -f $srvr, $ref, $bd_type, $db_srv, $bd_user, $bd_pass
Start-Process $path1c $command
Write-Host ("Информационная база с именем ""{0}"" успешно создана" -f $ref)
}