2016-09-27 2 views
0

私は、行と表示項目にテキストを含むテキストファイルを読むためにpowershellを使用しています。 と並行してforeachの代わりにを使用するにはどうすればよいですか。私はforeachを試してみましたが、動作しますが、foreachパラレル構文は動作しませんでした。Powershell foreach構文エラー

$lines = Get-Content myFile.txt | Where {$_ -notmatch '^\s+$'} 
Foreach ($Item in $lines) 
{ 
$Item 
} 

MyFile.Txt 

newyork is great 
seattle is cold 
florida is hot 

これは私が

$lines = Get-Content myFile.txt | Where {$_ -notmatch '^\s+$'} 
     ForEach -Parallel ($Item in $lines) 
      { 
      $Item 
      } 

エラーしようとしたものです。このようなあなたのコードを使用し、-parallel ForEach -parallelを使用するだけでワークフロー

答えて

1

で使用することを:

workflow myworkflow{ 
    $lines = Get-Content myFile.txt | Where {$_ -notmatch '^\s+$'} 
    ForEach -Parallel ($Item in $lines){ 
     sequence{ 
      $Item 
     } 
    } 
} 

次に、ワークフロー:myworkflowを呼び出します。

ワークフローは、ここにあなたがより多くの情報を見つけることができ、非常に便利です:

  • Restrictions
  • +0

    本当に便利便利です願っています。この場合の配列の使用は何ですか?パラレルでも、各レコードが一度に1つずつ表示されます。 – Kurkula

    +0

    素晴らしい!これは 'sequence'キーワードの定義です:_ Sequenceキーワードはパラレルスクリプトブロック内で順にコマンドを実行します。シーケンススクリプトブロックは他のコマンドと並行して実行されますが、シーケンススクリプトブロック内のコマンドは指定された順序で順次実行されます._ [this](https://technet.microsoft.com/en-us/)ライブラリ/ jj574157(v = ws.11).aspx) –