Как вы пишете функцию powershell, которая читает из конвейерного ввода?

РЕШЕНО:

Ниже приведены простейшие возможные примеры функций/скриптов, использующих конвейерный ввод. Каждый из них ведет себя так же, как передача командлету «echo».

Как функции:

Function Echo-Pipe {
  Begin {
    # Executes once before first item in pipeline is processed
  }

  Process {
    # Executes once for each pipeline object
    echo $_
  }

  End {
    # Executes once after last pipeline object is processed
  }
}

Function Echo-Pipe2 {
    foreach ($i in $input) {
        $i
    }
}

Как сценарии:

#Эхо -Pipe.ps1
  Begin {
    # Executes once before first item in pipeline is processed
  }

  Process {
    # Executes once for each pipeline object
    echo $_
  }

  End {
    # Executes once after last pipeline object is processed
  }
#Эхо -Pipe2.ps1
foreach ($i in $input) {
    $i
}

Например.

PS >. theFileThatContainsTheFunctions.ps1 # This includes the functions into your session
PS > echo "hello world" | Echo-Pipe
hello world
PS > cat aFileWithThreeTestLines.txt | Echo-Pipe2
The first test line
The second test line
The third test line
7
задан samthebest 9 August 2012 в 09:22
поделиться