DEV Community

Taylor Hutchison
Taylor Hutchison

Posted on • Originally published at taylorhutchison.com

A Powershell Todo Manager

A Powershell Todo Manager

For those always at the command line

October 16th, 2019

I spend a lot of time on the command line, monitoring builds and processes. I'm able to get a lot done in one window, especially with tmux. I also use a running list of todo items to help me manage my work and personal life. I've used products from Google, Microsoft, and others to manage todo lists. Those products are great, but I don't like leaving my terminal to manage them.

I've been learning powershell recently. One of the powershell legends is Jeff Hicks and has developed a lot of powershell tools including a todo list manager called MyTasks. So since I am always at the command line and I'm learning powershell anyway it made since to try it out.

MyTasks is in the powershell gallery so it makes installation very easy.

Install-Module MyTasks

The first time you run it you need to set the path for store all your task data (everything is stored as xml on disc).

New-Item -Path "~/Users/Taylor/Documents/" -Name "MyTasks" -ItemType "directory" 
Set-MyTaskHome -Path "~/Users/Taylor/Documents/MyTasks"

Now its installed and setup. The primary commands you'll use are New-MyTask, Get-MyTask, and Set-MyTask. Lets go over these.

New-MyTask

New-MyTask -Name "Run Report" -Description "Generate report for finance" `
-Category Work -DueDate "10/20/2019"

New-MyTask -Name "Book Trip" -Category Personal

Get-MyTask

Get-MyTask

ID  Name                      Description             DueDate OverDue Category     Progress
--  ----                      -----------             ------- ------- --------     --------
1   Run Report                Generate report for    10/20/19 False   Work                0
                              finance
2   Book Trip                                        10/23/19 False   Personal            0


Get-MyTask -Name "Book Trip"

ID  Name                      Description             DueDate OverDue Category     Progress
--  ----                      -----------             ------- ------- --------     --------
2   Book Trip                                        10/23/19 False   Personal            0

Set-MyTask

Set-MyTask -Name "Book Trip" -Progress 40
Set-MyTask -Name "Run Report" -NewName "Run Finance Report" -DueDate "10/30/2019"

Benefits

Along with being available in the command line, I really like having my todo list "powershell ready" so I can manipulate it with the tools I already know. I could generate an HTML report and have my todo list be available for others to see if I so wish with:

Get-MyTask | ConvertTo-HTML

Happy scripting!

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay