Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

141 Commits

Repository files navigation

PowerShell Humanizer

This PowerShell module wraps Mehdi Khalili's .NET Humanizer.

Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities http://humanizr.net

Install

To install grab it from the Powershell Gallery

Install-Module-Name PowerShellHumanizer

What's new

4/24/2016

Check out how to call the Humanize capabilities.

Using PowerShell Humanizer

image

Examples

Pluralize

PS C:\>ConvertTo-Plural man
men
PS C:\> echo person man woman |ConvertTo-Plural
people
men
women

Singularize

PS C:\> echo people men women geese indicies oxen knives |ConvertTo-Singular
person
man
woman
goose
indicy
ox
knife

Hyphenate

PS C:\>"Continuing To Make Powershell A Bit More Human"|ConvertTo-HyphenatedString
continuing-to-make-powershell-a-bit-more-human

Number to ordinal words

PS C:\>ConvertTo-OrdinalWords121
hundred and twenty first
PS C:\>120..130|ConvertTo-OrdinalWords
hundred and twentieth
hundred and twenty first
hundred and twenty second
hundred and twenty third
hundred and twenty fourth
hundred and twenty fifth
hundred and twenty sixth
hundred and twenty seventh
hundred and twenty eighth
hundred and twenty ninth
hundred and thirtieth

String Extension Methods

PS C:\>'then add nodes under it.'.ToTitleCase()
Then Add Nodes Under It.
PS C:\>'FromTitleCase'.Underscore()
from_title_case
PS C:\>'then add nodes under it.'.TruncateWords(3)
then add nodes…
PS C:\>'then add nodes under it.'.Truncate(3,"Words")
then add nodes…
PS C:\>'then add nodes under it.'.Truncate(7,"Characters",'-')
then a-
PS C:\>'then add nodes under it.'.Dehumanize()
ThenAddNodesUnderIt.
PS C:\>'string'.ToQuantity(50)
50 strings
PS C:\>'string'.ToQuantity(50,"word")
fifty strings
PS C:\> (Get-Date).Year.ToRoman()
MMXIV

Integer Extension Methods

PS C:\>Register-HumanizerInteger
PS C:\> (3).Ordinalize()
3rd
PS C:\> (3).ToWords()
three
PS C:\>Write-Host"Now: $(Get-Date). In three weeks: $((Get-Date) + (3).Weeks)"
Now: 04/16/201409:18:10. In three weeks: 05/07/201409:18:10

TimeSpan Extension Methods

PS C:\>$past=Get-Date# Do some stuff
PS C:\> ((Get-Date)-$past).Humanize()
1 minute
PS C:\> ((Get-Date)-$past).Humanize(2)
1 minute,42 seconds

DateTime Extension Methods

PS C:\> (Get-Date).Humanize($true)
4 hours ago
PS C:\> (Get-Date).Humanize()
now
PS C:\> dir | select @{Label="LastModified";Expression={$_.LastWriteTime.ToUniversalTime().Humanize()}}
LastModified
------------7 months ago
7 months ago
7 months ago
7 months ago
one year ago
10 months ago

Custom TimeSpan Formats

PS C:\>measure-command { 1..15000000}
2 seconds,981 milliseconds
PS C:\> (get-date) - (get-date"1/1/2015")
57 weeks,6 days,20 hours
PS C:\>$output= (get-date"1/1/2015") - (get-date)
PS C:\>$output
no time
PS C:\>$output| fl
Days : -405
Hours : -20
Minutes : -50
Seconds : -23
Milliseconds : -356
Ticks : -350670233562167
TotalDays : -405.868325882138
TotalHours : -9740.8398211713
TotalMinutes : -584450.389270278
TotalSeconds : -35067023.3562167
TotalMilliseconds : -35067023356.2167

Custom FileSystem Table Format

PS C:\>Get-ChildItem
Directory: C:\Program Files\7-Zip
Mode LastWritten Length Name
-------------------------
da----9 months ago Lang
-a---- one year ago 93 KB 7-zip.chm
-a---- one year ago 79 KB 7-zip.dll
-a---- one year ago 49 KB 7-zip32.dll
-a---- one year ago 1 MB 7z.dll
-a---- one year ago 414 KB 7z.exe-a---- one year ago 178 KB 7z.sfx
-a---- one year ago 163 KB 7zCon.sfx
-a---- one year ago 784 KB 7zFM.exe-a---- one year ago 533 KB 7zG.exe-a----4 years ago 366 B descript.ion
-a---- one year ago 40 KB History.txt
-a---- one year ago 2 KB License.txt
-a---- one year ago 2 KB readme.txt

About

PowerShell Humanizer wraps Humanizer: meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities

Resources

Stars

127 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages