>>
is the append redirect operator、。したがって、Out-File
を2回呼び出すようなものです。
Out-File $Proces >> "C:\proces.txt"
コマンドでは、入力オブジェクトをOut-File
に渡します。だから、$Proces
に空のファイルを書きます。その後、そのコマンドの出力を取り出し(何もしない)、それをC:\proces.txt
に書き込むと、2番目の空白ファイルが作成されます。
だからあなたはあなたのコードがちょうどOut-File
使用しているOut-File -Append
またはここ
>>
を使用して決めることになるでしょう:
$Services = Get-Service
Foreach ($Service in $Services) {
If ($Service.Status -eq "Running") { $Service >> "C:\proces.txt" }
If ($Service.Status -eq "Stopped") { $Service >> "C:\proces2.txt" }
}
あり:
ここ
$Services = Get-Service
Foreach ($Service in $Services) {
If ($Service.Status -eq "Running") { Out-File -InputObject $Service -Path "C:\proces.txt" -Append}
If ($Service.Status -eq "Stopped") { Out-File -InputObject $Service -Path "C:\proces2.txt" -Append }
}
はちょうど>>
使用してコードであります何をしようとしている他の多くの方法です
ここ
ここWhere-Object
コマンドレットを使用しての方法ではなく、条件付きループ/
$Services = Get-Service
$Services | Where-Object {$_.Status -eq "Running"} | Out-File "C:\proces.txt" -Append
$Services | Where-Object {$_.Status -eq "Stopped"} | Out-File "C:\proces2.txt" -Append
が分割
$Running,$Stopped = (Get-Service).Where({$_.Status -eq 'Running'},'Split')
$Running | Out-File "C:\proces.txt" -Append
$Stopped | Out-File "C:\proces2.txt" -Append
'アウトファイル$ Proces'が実際に何かを書くを使用して
.where()
方法を使用しての方法です'$ Proces'をファイルしますが、あなたは書き込むコンテンツを提供しませんでした。 'Out-File'は出力を生成しないので、' >> 'を使ってファイルにリダイレクトすると値はありません。ところで、 ''は '' Out-File -Append'のエイリアスです。 – PetSerAl