#powershell #merge #append #pipeline #powershell-5.0
#powershell #слияние #добавить #конвейер #powershell-5.0
Вопрос:
В powershell 5.1 мой foreach
цикл добавляет данные из myProgram
в data.csv
, используя синтаксис добавления, ( >>
) . Приведенный ниже код успешно добавляет / записывает результат my getData --query
в data.csv
файл.
Я хочу / нуждаюсь в небольшом изменении в генерации data.csv
; Я хочу / нуждаюсь $line
в том, чтобы переменная и « /
» были объединены в начало каждой строки data.csv
. Как это можно решить?
код генерации ( data.csv
):
foreach($line in Get-Content -Path .Folders.txt){$scrpt = 'myProgram getData --query "select key from datatable where key =''$line'')" --resultformat=csv >> data.csv'; Invoke-Expression $scrpt `
} `;
Ожидаемый результат ( data.csv
)
$line/data
$line/data
$line/data
Фактический результат ( data.csv
):
data
data
data
Комментарии:
1. Предлагает ли MyProgram варианты того, как / какие данные возвращаются?
2. —формат результата моей программы поддерживает .json и .csv
Ответ №1:
Я решил это, используя $_
концепцию в powershell.
foreach($line in Get-Content -Path .Folders.txt){$scrpt = 'myProgram getData --query "select key from datatable where key =''$line'')" --resultformat=csv |foreach {$line "/" $_} >> data.csv'; Invoke-Expression $scrpt `
} `;