Запись списка ChildItem для списка путей к CSV-файлу - PullRequest
2 голосов
/ 16 мая 2011

Я пытаюсь создать конечный CSV-файл, подобный следующему:

путь, get-childItem
путь, get-childItem
путь, 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 с каждым путем и потомками?

Ответы [ 2 ]

3 голосов
/ 16 мая 2011

просто не используйте 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 в строку

0 голосов
/ 16 мая 2011

Попробуйте это:

$data | select $_ , @{L="subname";E=@{(gci $_)}} | Export-Csv "C:\Documents and Settings\reidli\Desktop\mytest.csv" -force
...