ansitest/powershell/calendartest.ps1
2023-02-23 16:06:30 -06:00

137 lines
3.6 KiB
PowerShell

<# #>
[array]$mos = Write-Output Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
$mos
$year = [System.Collections.ArrayList]@()::new
$Jan = [System.Collections.ArrayList]@()::new
$Feb = [System.Collections.ArrayList]@()::new
$Mar = [System.Collections.ArrayList]@()::new
$Apr = [System.Collections.ArrayList]@()::new
$May = [System.Collections.ArrayList]@()::new
$Jun = [System.Collections.ArrayList]@()::new
$Jul = [System.Collections.ArrayList]@()::new
$Aug = [System.Collections.ArrayList]@()::new
$Sep = [System.Collections.ArrayList]@()::new
$Oct = [System.Collections.ArrayList]@()::new
$Nov = [System.Collections.ArrayList]@()::new
$Dec = [System.Collections.ArrayList]@()::new
cd
$Jan = ( import-csv 2023-Jan.csv )
$Feb = ( import-csv 2023-Feb.csv )
$Mar = ( import-csv 2023-Mar.csv )
$Apr = ( import-csv 2023-Apr.csv )
$May = ( import-csv 2023-May.csv )
$Jun = ( import-csv 2023-Jun.csv )
$Jul = ( import-csv 2023-Jul.csv )
$Aug = ( import-csv 2023-Aug.csv )
$Sep = ( import-csv 2023-Sep.csv )
$Oct = ( import-csv 2023-Oct.csv )
$Nov = ( import-csv 2023-Nov.csv )
$Dec = ( import-csv 2023-Dec.csv )
$output = @() # THIS BREAKS if we use [System.Collections.ArrayList]@()::new
# REF: https://stackoverflow.com/questions/20340525/evaluate-a-variable-within-a-variable-in-powershell
#"eval" DayDetails = $Jan (put all the Jan data in)
foreach ($thismo in $mos) {
# $thismo # DEBUGG
$tmpobj = [PSCustomObject]@{
# xxx TODO comment as needed - output fields for csv
'Month' = $thismo
'DayDetails' = $(Get-Variable -Name $thismo -ValueOnly)
} # customobj
$output += $tmpobj
} # foreach
$output
Write-Host ""
$output |where-object { $_.DayDetails -match 'Fr=13' } |select-object -Property Month,{$_.daydetails.Fr}
Write-Host ""
$output |where-object { $_.DayDetails -match 'Fr=13' } |select-object -Property Month,{$_.daydetails.Fr[1]}
<#
Month $_.daydetails.Fr[1]
----- -------------------
Jan 13
Oct 13
#>
#$output.daydetails |where-object Fr -eq 13
<#
Su : 8
Mo : 9
Tu : 10
We : 11
Th : 12
Fr : 13
Sa : 14
Su : 8
Mo : 9
Tu : 10
We : 11
Th : 12
Fr : 13
Sa : 14
$output |oss |select-string Fr=13
Jan {@{Su=1; Mo=2; Tu=3; We=4; Th=5; Fr=6; Sa=7}, @{Su=8; Mo=9; Tu=10; We=11; Th=12; Fr=13; Sa=14},
@{Su=15;…
Oct {@{Su=1; Mo=2; Tu=3; We=4; Th=5; Fr=6; Sa=7}, @{Su=8; Mo=9; Tu=10; We=11; Th=12; Fr=13; Sa=14},
@{Su=15;…
$output |where-object { $_.DayDetails -match 'Fr=13' }
Month DayDetails
----- ----------
Jan {@{Su=1; Mo=2; Tu=3; We=4; Th=5; Fr=6; Sa=7}, @{Su=8; Mo=9; Tu=10; We=11; Th=12; Fr=13; Sa=14}, @{Su=15…
Oct {@{Su=1; Mo=2; Tu=3; We=4; Th=5; Fr=6; Sa=7}, @{Su=8; Mo=9; Tu=10; We=11; Th=12; Fr=13; Sa=14}, @{Su=15…
$output |where-object { $_.DayDetails -match 'Fr=13' } |select Month
Month
-----
Jan
Oct
$output |where-object { $_.DayDetails -match 'Fr=13' } |select-object -Property Month,{$_.daydetails.Fr}
Month $_.daydetails.Fr
----- ----------------
Jan {6, 13, 20, 27…}
Oct {6, 13, 20, 27…}
$output.daydetails.Fr |where-object { $_ -match 13 }
13
13
#>
<#
$Jan = ( get-content 2023-Jan.csv )
$Feb = ( get-content 2023-Feb.csv )
$Mar = ( get-content 2023-Mar.csv )
$Apr = ( get-content 2023-Apr.csv )
$May = ( get-content 2023-May.csv )
$Jun = ( get-content 2023-Jun.csv )
$Jul = ( get-content 2023-Jul.csv )
$Aug = ( get-content 2023-Aug.csv )
$Sep = ( get-content 2023-Sep.csv )
$Oct = ( get-content 2023-Oct.csv )
$Nov = ( get-content 2023-Nov.csv )
$Dec = ( get-content 2023-Dec.csv )
#>