#!/usr/bin/pwsh <# .SYNTAX simulate-matrix.ps1 .DESCRIPTION simulates the Matrix (fun) .LINK https://github.com/fleschutz/PowerShell .NOTES Author: Markus Fleschutz / License: CC0 #> $PathToRepo = "$PSScriptRoot/.." try { write-progress "Reading Data/matrix.csv..." $Table = import-csv "$PathToRepo/Data/matrix.csv" clear-host foreach($Row in $Table) { for ($i = 0; $i -lt 4; $i++) { write-host -nonewline $($Row.A); start-sleep -milliseconds 5 write-host -nonewline $($Row.B); start-sleep -milliseconds 5 write-host -nonewline $($Row.C); start-sleep -milliseconds 5 write-host -nonewline $($Row.D); start-sleep -milliseconds 5 write-host -nonewline $($Row.E); start-sleep -milliseconds 5 write-host -nonewline $($Row.F); start-sleep -milliseconds 5 write-host -nonewline $($Row.G); start-sleep -milliseconds 5 write-host -nonewline $($Row.H); start-sleep -milliseconds 5 write-host -nonewline $($Row.I); start-sleep -milliseconds 5 write-host -nonewline $($Row.J); start-sleep -milliseconds 5 write-host -nonewline $($Row.K); start-sleep -milliseconds 5 write-host -nonewline $($Row.L); start-sleep -milliseconds 5 write-host -nonewline $($Row.M); start-sleep -milliseconds 5 write-host -nonewline $($Row.N); start-sleep -milliseconds 5 write-host -nonewline $($Row.O); start-sleep -milliseconds 5 write-host -nonewline $($Row.P); start-sleep -milliseconds 5 write-host -nonewline $($Row.Q); start-sleep -milliseconds 5 write-host -nonewline $($Row.R); start-sleep -milliseconds 5 write-host -nonewline $($Row.S); start-sleep -milliseconds 5 write-host -nonewline $($Row.T); start-sleep -milliseconds 5 write-host -nonewline $($Row.U); start-sleep -milliseconds 5 write-host -nonewline $($Row.V); start-sleep -milliseconds 5 write-host -nonewline $($Row.W); start-sleep -milliseconds 5 write-host -nonewline $($Row.X); start-sleep -milliseconds 5 write-host -nonewline $($Row.Y); start-sleep -milliseconds 5 write-host -nonewline $($Row.Z); start-sleep -milliseconds 5 } write-host "" start-sleep -milliseconds 200 } exit 0 } catch { write-error "ERROR: line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" exit 1 }