PowerShell/Docs/list-city-weather.md
2023-08-06 11:42:46 +02:00

1.8 KiB

list-city-weather.ps1

This PowerShell script lists the current weather of cities world-wide (west to east).

Parameters

PS> ./list-city-weather.ps1 [<CommonParameters>]

[<CommonParameters>]
    This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, 
    WarningVariable, OutBuffer, PipelineVariable, and OutVariable.

Example

PS> ./list-city-weather

Notes

Author: Markus Fleschutz | License: CC0

https://github.com/fleschutz/PowerShell

Script Content

<#
.SYNOPSIS
	Lists current weather of cities world-wide 
.DESCRIPTION
	This PowerShell script lists the current weather of cities world-wide (west to east).
.EXAMPLE
	PS> ./list-city-weather
.LINK
	https://github.com/fleschutz/PowerShell
.NOTES
	Author: Markus Fleschutz | License: CC0
#>

$Cities="Hawaii","Los Angeles","Mexico City","Dallas","Miami","New York","Rio de Janeiro","Paris","London","Berlin","Cape Town","Dubai","Mumbai","Singapore","Hong Kong","Perth","Peking","Tokyo","Sydney"

function ListCityWeather {
	foreach($City in $Cities) {
		$Conditions = (Invoke-WebRequest http://wttr.in/${City}?format="%c  +%t`t+%p`t+%h`t+%P  +%w" -UserAgent "curl" -useBasicParsing).Content
		$Sun = (Invoke-WebRequest http://wttr.in/${City}?format="+%S →+%s" -UserAgent "curl" -useBasicParsing).Content
		New-Object PSObject -Property @{ City="$City"; Conditions="$Conditions"; Sun="$Sun" }
	}
}

try {
	ListCityWeather | Format-Table -property City,Conditions,Sun
	exit 0 # success
} catch {
	"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
	exit 1
}

(generated by convert-ps2md.ps1 using the comment-based help of list-city-weather.ps1 as of 08/06/2023 11:42:28)