2016-11-23 2 views
1

はのは、私が追加する$file、試合のため$key$stringがあるとしましょう。 $keyが含まれている$fileで特定の行、行の末尾に$stringを追加がある場合。たとえば : $key="b"$string="z" $fileが含まれています行が文字列が含まれている場合、同じ行にコンテンツを追加すると、

a 
b 
c 

$fileは含まれています

a 
b z 
c 

私はPowerShellで最も簡単な方法でそれを行うことができますどのように? 注! $fileはおそらく各行を反復処理するとラインがキーが含まれているかどうかを確認する必要があり、実際のファイルではなくプログラム

答えて

0

でいくつかの配列です:

$newContent = Get-Content $file | Foreach { 
    if ($_ -like "*$key*") 
    { 
     "$_ $string" 
    } 
    else 
    { 
     $_ 
    } 
} 
$newContent | Set-Content $file 
+0

[OK]を、どのような '$ファイルの場合'次のものが含まれます。 ' BCDE F' と私は、私は私の質問を編集し、 '$キー=「B」' – igor

+1

を含む行の末尾に「Z」を追加し、それを試す –

0
$file="C:\temp\report.csv" 
$Newfile="C:\temp\report2.csv" 
$KeyToSearch="b" 
$StringToAdd="z" 

Get-Content $file | 
%{if ($_ -like "*$KeyToSearch*") {"$_ $StringToAdd" } else {$_}} | 
out-file -FilePath $Newfile -Append 
+0

Thxをを与えたいです、 "out-file ..."を使用することの違いは何ですか?あなたは言いました、そして "内容を設定しました..."と答えに前に書きましたか? – igor

+0

違いはありませんが、2つのソリューションを使用できます;) – Esperento57

関連する問題