Improved list-memos.ps1 and remember.ps1

This commit is contained in:
Markus Fleschutz 2024-05-29 20:31:08 +02:00
parent e52a77bba2
commit 5dd0c7ce9f
2 changed files with 26 additions and 25 deletions

View File

@ -1,8 +1,8 @@
<# <#
.SYNOPSIS .SYNOPSIS
Lists your memo entries Lists your remembered entries
.DESCRIPTION .DESCRIPTION
This PowerShell script lists all memo entries in Memos.csv in your home folder. This PowerShell script lists all entries in 'Remember.csv' in your home folder.
.EXAMPLE .EXAMPLE
PS> ./list-memos.ps1 PS> ./list-memos.ps1
.LINK .LINK
@ -11,26 +11,23 @@
Author: Markus Fleschutz | License: CC0 Author: Markus Fleschutz | License: CC0
#> #>
try { try {
$Path = "~/Memos.csv" $path = "~/Remember.csv"
if (Test-Path "$Path" -pathType leaf) { if (-not(Test-Path "$path" -pathType leaf)) {
write-progress "Reading $Path ..." "Nothing to remember."
$Table = Import-CSV "$Path"
write-progress -completed "Reading $Path"
""
"Time Text"
"---- ----"
foreach($Row in $Table) {
$Time = $Row.Time
$Text = $Row.Text
"$Time $Text"
}
} else {
"Sorry, no memos saved yet"
exit 1 exit 1
} }
Write-Progress "Reading $path ..."
$table = Import-CSV "$path"
Write-Progress -completed "Done."
foreach($row in $table) {
$unixTimestamp = [int64]$row.TIMESTAMP
$time = (Get-Date -day 1 -month 1 -year 1970 -hour 0 -minute 0 -second 0).AddSeconds($unixTimestamp)
$text = $row.TEXT.trim()
"⚠️ NOTE: $text (remembered $time)"
}
exit 0 # success exit 0 # success
} catch { } catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"

View File

@ -2,12 +2,12 @@
.SYNOPSIS .SYNOPSIS
Remembers a text Remembers a text
.DESCRIPTION .DESCRIPTION
This PowerShell script saves the given text to Memos.csv in your home folder. This PowerShell script saves the given text to 'Remember.csv' in your home folder.
.PARAMETER text1 .PARAMETER text1
Specifies the text to memorize Specifies the text to memorize
.EXAMPLE .EXAMPLE
PS> ./remember.ps1 "Buy apples" PS> ./remember.ps1 "Buy apples"
Saved to /home/Markus/Memos.csv in 0s. Saved to /home/Markus/Remember.csv in 0s.
.LINK .LINK
https://github.com/fleschutz/PowerShell https://github.com/fleschutz/PowerShell
.NOTES .NOTES
@ -20,13 +20,17 @@ try {
if ($text1 -eq "") { $text1 = Read-Host "Enter what needs to be remembered" } if ($text1 -eq "") { $text1 = Read-Host "Enter what needs to be remembered" }
$stopWatch = [system.diagnostics.stopwatch]::startNew() $stopWatch = [system.diagnostics.stopwatch]::startNew()
$timestamp = Get-Date -format FileDateTimeUniversal
$path = "~/Memos.csv" [string]$timestampString = Get-Date -UFormat %s
$timestampString = $timestampString -replace ',','.'
[int64]$unixTimestamp = $timestampString
$path = "~/Remember.csv"
if (-not(Test-Path "$path" -pathType leaf)) { if (-not(Test-Path "$path" -pathType leaf)) {
Write-Output "TIME,TEXT" > $path Write-Output "TIMESTAMP,TEXT" > $path
} }
Write-Output "$($timestamp),$text1 $text2 $text3" >> $path Write-Output "$($unixTimestamp),$text1 $text2 $text3" >> $path
$path = Resolve-Path $path $path = Resolve-Path $path
[int]$elapsed = $stopWatch.Elapsed.TotalSeconds [int]$elapsed = $stopWatch.Elapsed.TotalSeconds