#windows #function #powershell #pipe
#Windows #функция #powershell #конвейер
Вопрос:
У меня это происходит
Function A($data){
#Function accepts $data which is Get-Content of a file
#Function does some stuff and then return
#Function return data as Strin&
}
Function B($data){
#This Function takes data &iven from Function A, manipulate it and return custom object
}
$Function C ($data1, $data2){
#This function Takes 2 custom objects created from Function B and prints out some data
}
#For this is to work i need to do this for example:
$file = 'c:test.txt'
$data1 = A (Get-Content $file1)
$data1 = B ($data1)
#Same thin& for data2 and then use function C:
C -data1 $data2 -data2 data2
хотя это работает, я хотел бы использовать конвейер, должно быть, я использую его неправильно
Get-Content $file1 | A | B
Очевидно, это привело бы к ошибкам.
кто-нибудь может мне помочь в этом?
Комментарии:
1. Определенно, я делаю это неправильно. Следует прочитать больше, например, это или это
2. ПОЖАЛУЙСТА, прочтите справку по расширенным функциям. вам необходимо тщательно структурировать свои функции для работы в конвейере. на эту тему есть МНОГО статей… [ ухмылка ]
3. Что вы искали? Это очень распространенное явление во всем PowerShell. — ‘значение функций powershell из [ipline’
Ответ №1:
Продолжение моего комментария. Например:
Создание функций PowerShell, поддерживающих конвейер
ValueFromPipeline Давайте начнем с функции для выполнения некоторых тестов.
#re&ion Test Function
Function Test-Object
{
[cmdletbindin&()]
Param
(
[parameter(ValueFromPipeline)][int[]]$Inte&er
)
Process
{
$PSItem
}
}
#endre&ion Test Function