2

私がやろうとしているのは、次のような終了CSVファイルを作成することです。

path、get-childItem
path、get-childItem
path、get-childItem
など。

私はPowerShellに非常に慣れていないので、今のところ、私が抱えている問題はエラーではなく、実際に何をすべきかを知っていることです。

これまでの私のコードは次のとおりです。

$data = gc "c:\Documents and Settings\user\Desktop\paths.txt"
ForEach($line in $data) {
$subName = Get-ChildItem "$line"
write-host $line","$subName
#Export-Csv -Path "C:\Documents and Settings\reidli\Desktop\mytest.csv" -Force "true" -InputObject $output 

したがって、paths.txtからパスのリストを読んでいます。各行は異なるパスです。$ subNameは必要な子のリストであり、正しいものです。書き込みホストを実行すると、出力は実際に次のようになります。 csvをエクスポートしようとしましたが、パスごとに既存のcsvが上書きされるため、これは機能しません。

誰かがforeachループの各行を取得し、各パスと子を含む.csvファイルを作成するのを手伝ってもらえますか?

4

2 に答える 2

3

export-csv をまったく使用しないでください。CSV はカンマ区切りのテキスト ファイルです。これにより、エクスポートが簡単になります。

$data = gc "c:\Documents and Settings\user\Desktop\paths.txt"
Remove-Item "C:\Documents and Settings\reidli\Desktop\mytest.csv" -ea 0
ForEach($line in $data) {
  $subName = Get-ChildItem "$line"
  write-host $line","$subName
  "$line,$subName" | Add-Content "C:\Documents and Settings\reidli\Desktop\mytest.csv" 
}

ところで。サブファイルのスペースを分離しますか? Get-ChildItem を文字列に変換すると得られるものです

于 2011-05-16T18:56:21.287 に答える
0

これを試して:

$データ | select $_ , @{L="subname";E=@{(gci $_)}} | Export-Csv "C:\Documents and Settings\reidli\Desktop\mytest.csv" -force
于 2011-05-16T19:01:05.127 に答える