2016-04-27 7 views
0

私は、2つの別々のセクション(以下の例)を持つテキストファイルを持っています。 PowerShellコマンドレットを作成して、各セクションのマシンで異なることをしたいと思います。いつものように、ありがとう!Powershell - テキストファイルの別のセクションを読む

[Templates] 
Computer1 
Computer2 

[Parents] 
Computer3 
Computer4 

答えて

0

これは過去に使用したものです。あなたの状況にそれを使用できるかもしれません。

$file = 'C:\temp\new 1.txt' 
$contents = Get-Content $file | Out-String 
$contents = [regex]::Split($contents, '\r\n\r\n') 

$contents | ? {$_} | sort | % { 
    write-host this is a section 
    write-host $_ 
} 
+0

これはどのように機能するのでしょうか? – Rico

+0

get-contentはキャリッジリターン改行のファイル内容を自動的に分割して配列にするため、out-stringにパイプされ、すべての行が文字列の配列ではなく単一の文字列オブジェクトになります。 (\ r \ n \ r \ n)の直後に、空行に2つのキャリッジリターンラインフィードを分割するようになりました。ここで、文字列を配列にして、再探しています。 '? {$ _} '部分は空白の部分に複数の空白行が含まれている部分だけを取り除きます。セクションをソートしたくない場合は、ソートを削除できます。 –

+0

完璧な説明、感謝アンソニー! – Rico

関連する問題