Powershell 5.1 добавление переменной $line к результату перед добавлением (>>) в .csv

#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 `   
} `;