1

ディレクトリ内のすべての .csv ファイルに対して実行するスクリプトを以下に示します。Get-ChildItems を使用できることはわかっていますが、.\ 内の .csv ファイルのみをフィルタリングしてスクリプトを実行するにはどうすればよいですか?

import-csv .\chapters.csv | 
    ConvertTo-Json -Compress | 
    ForEach-Object {$_ -creplace '""NULL""','null'} | 
    Out-File .\chapters.json
4

1 に答える 1

3

あなたが何を求めているのか理解できたら、ファイル グロブを使用して、結果をImport-CSV ** にパイプします。Foreach-Objectループを使用して、出力ファイルの名前付けに使用する各 CSV ファイルのベース名を取得します。

Get-ChildItem .\*.csv | Foreach-Object {
  $basename = $_.BaseName
  import-csv $_ | ConvertTo-Json -Compress | Foreach {$_ -creplace '""NULL""','null'} | Out-File ".\$basename.json"
}

ところで、 Get-ChildItemの最後に「s」はありません。

于 2013-07-12T00:08:38.833 に答える