2016-11-07 4 views
2

どのようにラップしても解決できないという問題があります。私は、私の希望する結果と、一度に1つのファイルだけで動作するソリューションのコードを与えていない最新のコードを含めています。私はどのように各ファイルを自動的にループするのかは分かりません。Get-ChildItemゼロの結果出力

CSVファイルのディレクトリがありますCSVファイル内のエントリの一部に負の値( - )があるすべてのインスタンスでこのマイナス記号を削除する必要があります。

今、私が(単一のファイルに)次を使用している場合はどのように動作することである

$content = Get-Content "L:\Controls\BCR\0001cash.csv" | ForEach {$_ -replace $variable, ""} | Set-Content "L:\controls\bcr\0001temp.csv" 

これらのオブジェクトの多くの千を反復処理されて私は何をしようとしています自動的にではなく、個別にそれらを参照する必要があります。

私は開始しました:ディレクトリを定義するには

$Directory = "L:\Controls\BCR\" 
$variable = "-" 
$suffix = ".tmp" 

、マイナス私は削除して、私が変更したいファイルの接尾辞にしたいシンボル...

$Files = Get-ChildItem $Directory | Where-Object {$_.Extension -like "*csv*"} | Where-Object {$_.Name -like "*cash*"} 

取得されています作業したいファイルのそれぞれ

私は次に協力しています

ForEach ($File in $Files) { Get-Content $Files | ForEach {$_ -replace $variable, ""} | Set-Content {$_.Basename + $Variable} 

結果は何もありません...

紛失しましたか?誰でも???

$Directory = "L:\Controls\BCR\" 
$variable = "-" 
$suffix = ".tmp" 


$Files = Get-ChildItem $Directory | Where-Object {$_.Extension -like "*csv*"} | Where-Object {$_.Name -like "*cash*"} 

$process = ForEach ($File in $Files) { Get-Content $Files | ForEach {$_ -replace $variable, ""} | Set-Content {$_.BaseName + $suffix} 



} 
+0

こんにちは、 'セット内容'は***ファイルに***を書き込みます。 'Rename-Item'は名前を変更します。 – sodawillow

答えて

1

あなたはGet-Contentレット($Filesの代わり$File)に間違った変数を使用しています。また、あなたのスクリプトを簡略化することができます:

$Directory = "L:\Controls\BCR\" 
$variable = "-" 
$suffix = ".tmp" 
Get-ChildItem $Directory -Filter '*cash*csv' | 
    ForEach-Object { 
     (Get-Content $_ -Raw) -replace $variable | 
      Set-Content {$_.BaseName + $suffix} 
    } 
+0

あなたの答えは、私が書いたよりもはるかにクリーンでありがたくありがとうございました。前には見たことがなかったRawとフィルタに2つの用語が含まれていることを理解するのに時間がかかっていました。ここに!あなたの解決策は、私が偶然によって試みたことに対するより洗練された解決策に私を導いた。十分にあなたに感謝することはできません!私は結局使用した。 –

+0

$ Directory = "L:\ Controls \ BCR \" $ variable = " - " $ suffix = ".tmp" Get-ChildItem $ディレクトリ-Filter '* cash * csv' | ForEach-Object { (Get-Content $ _ -Raw)-replace $ variable |セットコンテンツ$ _ -Force } –

+0

これは問題ありません。どういたしまして! –