PDA

Показать полную графическую версию : проблема с файлом csv


krasavchik0
21-02-2018, 15:32
Написал скрипт


$fil="C:\File_Report.csv"
Remove-Item $fil
$events = Get-ChildItem F:\file\Public\!spopov\1 -Recurse -Force -ErrorAction SilentlyContinue |Select-Object Name, BaseName, Length, Directory, FullName, Extension, CreationTime, LastAccessTime, LastWriteTime, Mode, Attributes

$events | Select-Object Name, Length,
@{Name="Length(MB)"; Expression = {[math]::Round($_.Length/1024/1024 , 3)}},
@{Name="Sum"; Expression = { Get-ChildItem $_.FullName -Recurse | measure -Property length -Sum | Select-Object Sum ;}
}, Directory, FullName | export-csv -Delimiter "," -Path $fil -NoType -Encoding UTF8 -Append


Но после создания скрипта при импорте в бд имею проблемы

вот часть из сформированого файла


"Name","Length","Length(MB)","Sum","Directory","FullName"
"1c7.7",,"0","@{Sum=5,691}",,"F:\file\Public\!test\1\1c7.7"
"7Zip",,"0","@{Sum=1,059}",,"F:\file\Public\!test\1\7Zip"
"MSOffice2003RUS",,"0","@{Sum=325,255}",,"F:\file\Public\!test\1\MSOffice2003RUS"
"netsph",,"0","@{Sum=5,7}",,"F:\file\Public\!test\1\netsph"



Что меня тут не устраивает
1) значение Length для директории пустое. При этом все значения обрамлены в кавычки,а это нет. Хотелось бы либо везде снять обрамление или и тут сделать обрамление в кавычки.
2) значение Sum пишется @{Sum=5,691} а хочется что бы было просто "5,691"


Заранее спасибо за ответы.

Kazun
21-02-2018, 15:56
1) Заменить Select-Object Length на @{n="Length";e={if($_.Length) {$_.Length} else {0}}}
2) Select-Object Sum заменить на: Select-Object -Expand Sum




© OSzone.net 2001-2012