Цикл через хэш или использование массива в PowerShell

Я использую этот (упрощенный) фрагмент кода для извлечения набора таблиц из SQL Server с BCP .

$OutputDirectory = "c:\junk\"
$ServerOption =   "-SServerName"
$TargetDatabase = "Content.dbo."

$ExtractTables = @(
    "Page"
    , "ChecklistItemCategory"
    , "ChecklistItem"
)

for ($i=0; $i -le $ExtractTables.Length – 1; $i++)  {
    $InputFullTableName = "$TargetDatabase$($ExtractTables[$i])"
    $OutputFullFileName = "$OutputDirectory$($ExtractTables[$i])"
    bcp $InputFullTableName out $OutputFullFileName -T -c $ServerOption
}

Он отлично работает, но теперь некоторые таблицы нужно извлекать через представления, а некоторые нет. Так что мне нужна структура данных примерно такая:

"Page"                      "vExtractPage"
, "ChecklistItemCategory"   "ChecklistItemCategory"
, "ChecklistItem"           "vExtractChecklistItem"

Я искал хеши, но не нашел ничего о том, как перебирать хеши в цикле. Что было бы правильным здесь сделать? Может быть, просто использовать массив, но с обоими значениями, разделенными пробелом?

Или мне не хватает чего-то очевидного?

86
задан Peter Mortensen 11 July 2019 в 17:40
поделиться