Скрипт пакетного файла для разделения строки на несколько существующих в задаче выполнения процесса служб SSIS - PullRequest
0 голосов
/ 10 января 2020

Я пытался выполнить командный файл, используя задачу процесса выполнения служб SSIS. Эта задача принимает только один аргумент. Аргументом является @ [User :: TabProjectName] = www.servername Dev_Admin Password123 DENMARK DEV V_Weekly_DEV . Это строка, разделенная пробелами. Как разбить эту единственную строку на несколько подстрок на основе пробела и назначить переменным, как показано ниже, используя Пакетная команда ?

set servername=www.servername
set username=Dev_Admin
set tabpwd=Password123
set sitename=DENMARK
set projectname=DEV
set datasourcename=V_Weekly_DEV

1 Ответ

1 голос
/ 10 января 2020

Первоначально он был опубликован с тегом powershell , поэтому это можно сделать с помощью powershell:

$string = '@[User::TabProjectName]=www.servername Dev_Admin Password123 DENMARK DEV V_Weekly_DEV'

$splitString = $string.split()

$serverName = $splitString[0].split('=')[1]
$username = $splitString[1]
$tabPwd = $splitString[2]
$siteName = $splitString[3]
$projectname = $splitString[4]
$datasourceName = $splitString[5]

$ splitString, разделяет начальную строку на пробелы без символа передается оператору разбиения. На каждый элемент в массиве split можно ссылаться по номеру места. $ ServerName нуждается в дополнительном разбиении, чтобы получить данные справа от знака '='.

...