2012-01-16 5 views
0

Я пытаюсь объединить переменную со значением из массива и иметь проблемы.Powershell - конкатенация ссылки массива с другой переменной

Выход, который я получаю, представляет собой переменное значение, а также массив ENTIRE, а не только желаемое значение (индекс $ i).

$Database = "Checklist.dbo." 

$ExtractTables = @("Page" 
    , "HotelOwner" 
    , "Hotel" 
) 

for ($i=0; $i -le $ExtractTables.Length – 1; $i++) { 

    write-host $Database$ExtractTables[$i]  # <<<<<<< takes ENTIRE array 
} 

Моя конечная цель состоит в том, чтобы вызвать исполняемый (BCP) что-то вроде этого:

# & bcp $Database$ExtractTables[$i] out $OutputDirectory$ExtractTables[$i].txt -c -T -SCHELDEV02 

Любые указатели для новичка?

Спасибо!

ответ

1
$Database = "Checklist.dbo." 

$ExtractTables = @("Page" 
    , "HotelOwner" 
    , "Hotel" 
) 

for ($i=0; $i -le $ExtractTables.Length – 1; $i++) { 
    write-host "$Database$($ExtractTables[$i])" 
} 

Для оценки суб-выражение перед остальной выражения положить его в $()

+0

Это здорово, Джон - Большое спасибо! – Sylvia

0
$Database = "Checklist.dbo." 

$ExtractTables = @("Page" 
    , "HotelOwner" 
    , "Hotel" 
) 

$ExtractTables | ForEach { 
    write-host "$Database$_" 
} 
Смежные вопросы