PowerShell/scripts/cd-repos.ps1

38 lines
1.1 KiB
PowerShell
Raw Normal View History

2023-10-31 11:55:16 +01:00
<#
2021-07-13 21:10:02 +02:00
.SYNOPSIS
2022-10-24 12:24:35 +02:00
Sets the working directory to the user's repos folder
2021-10-04 21:29:23 +02:00
.DESCRIPTION
2022-01-29 12:47:46 +01:00
This PowerShell script changes the working directory to the user's Git repositories folder.
2022-11-25 14:27:24 +01:00
.PARAMETER Subpath
Specifies an additional relative subpath (optional)
2021-07-13 21:10:02 +02:00
.EXAMPLE
2021-09-24 17:19:49 +02:00
PS> ./cd-repos
2023-08-06 21:35:36 +02:00
📂C:\Users\Markus\source\Repos
2021-07-13 21:10:02 +02:00
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
2022-05-04 11:50:18 +02:00
Author: Markus Fleschutz | License: CC0
2021-04-16 16:51:46 +02:00
#>
2022-11-25 14:27:24 +01:00
param([string]$Subpath = "")
2021-10-19 08:24:17 +02:00
try {
2022-11-25 14:27:24 +01:00
if (Test-Path "$HOME/Repos" -pathType Container) { # try short name
$Path = "$HOME/Repos/$Subpath"
} elseif (Test-Path "$HOME/Repositories" -pathType Container) { # try long name
$Path = "$HOME/Repositories/$Subpath"
} elseif (Test-Path "$HOME/source/repos" -pathType Container) { # try Visual Studio default
$Path = "$HOME/source/repos/$Subpath"
2022-11-08 21:02:45 +01:00
} else {
2022-12-23 07:44:18 +01:00
throw "The folder for Git repositories in your home directory doesn't exist (yet)."
2022-11-25 14:27:24 +01:00
}
2023-08-06 21:35:36 +02:00
if (-not(Test-Path "$Path" -pathType Container)) { throw "The path to 📂$Path doesn't exist (yet)." }
2022-11-25 14:27:24 +01:00
$Path = Resolve-Path "$Path"
2022-05-04 11:50:18 +02:00
Set-Location "$Path"
"📂$Path"
2021-10-19 08:24:17 +02:00
exit 0 # success
} catch {
2022-11-25 14:27:24 +01:00
"⚠️ Error: $($Error[0])"
2021-04-16 16:51:46 +02:00
exit 1
2023-08-06 21:35:36 +02:00
}