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

试试这个:

$数据 | 选择 $_ , @{L="subname";E=@{(gci $_)}} | Export-Csv "C:\Documents and Settings\reidli\Desktop\mytest.csv" -force
于 2011-05-16T19:01:05.127 回答