Powershell CSV Log -



Powershell CSV Log -

i want develope script log size of folders in given directory, name's, , date when logged. want script export in next csv format:

date;a;b;c;durga;new folder;new folder (2) 0125-1416;0.00;0.05;1;1; 0.00 0125-1417;0.00;0.05;0.00;0.00 0125-1419;0.00;0.05;0.00;0.00;20;30

finally, want script intelligent plenty determine, based off of log file, there have been folders either added or removed. if root directory, c:\scripts has folders a, b, , c. want script know if delete or add together d next time runs , business relationship in csv file.

the script ran every (daily?) , append new row ever increasing in size csv file called 'log.txt'.

so far, have code recurses through folders , sums individual sizes, saves name of parent folder, it's size, , date , wedges info new object tossed array index. i'm lost when trying bunch of similarrly formatted objects desired csv output. there's got improve approach getting csv file out of this!!

here's 'get size of folders in given directory' bit of code:

cd c:\scripts $a = @() get-childitem | {$_.psiscontainer} | foreach { $size = (get-childitem $_ -recurse | {!$_.psiscontainer} | measure-object -sum length).sum $date = get-date -uformat %y%m%d-%h%m $size1 = "{0:n2}" -f ($size / 1mb) $obj = new-object psobject add-member -inp $obj noteproperty date $date add-member -inp $obj noteproperty path $_.name add-member -inp $obj noteproperty size $size1 $a += $obj }

i'm new powershell i'm getting tripped up: have sizes of folders, don't know how extract objects in $a, format them pretty (like illustration csv posted towards origin of post), em saved csv, have script intelligent plenty read csv next time script ran , business relationship changes when records next line of csv file.

is there improve way this? first post after year of super-lurking please gentel... lol.

thank you!

i gave try. replaced get-date format match output, because didn't match in sample. creates 1 column each folder. columns never deleted, added. if new folder added, new column appear in records values in records existed. if folder deleted, previous records have null value in column.

cd c:\scripts $filename = "log.csv" $out = @() $date = get-date -format mmdd-hhmm #create new record $rec = new-object psobject -property @{ date = $date } get-childitem | {$_.psiscontainer} | foreach { $size = (get-childitem $_.fullname -recurse | {!$_.psiscontainer} | measure-object -sum length).sum $rec | add-member -membertype noteproperty -name $_.name -value ("{0:n2}" -f ($size / 1mb)) } #check if file exists , columns if (test-path $filename -pathtype leaf) { $in = import-csv $filename $incol = $in | get-member -membertype noteproperty | % { $_.name } $reccol = $rec | get-member -membertype noteproperty | % { $_.name } #add missing columns exisiting records compare $incol $reccol | ? { $_.sideindicator -eq "=>" } | % { $in | add-member -membertype noteproperty -name $_.inputobject -value $null } #add missing columns new record compare $reccol $incol | ? { $_.sideindicator -eq "=>" } | % { $rec | add-member -membertype noteproperty -name $_.inputobject -value $null } $out += $in } $out += $rec $out | export-csv $filename -notypeinformation

powershell csv

Comments

Popular posts from this blog

web services - java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer -

Accessing MATLAB's unicode strings from C -

javascript - mongodb won't find my schema method in nested container -