PowerShell/scripts/cd-repos.ps1

40 lines
1.2 KiB
PowerShell
Raw Normal View History

2024-10-01 15:11:03 +02: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.
.PARAMETER subpath
2022-11-25 14:27:24 +01:00
Specifies an additional relative subpath (optional)
2021-07-13 21:10:02 +02:00
.EXAMPLE
2024-04-04 15:07:58 +02:00
PS> ./cd-repos.ps1
2024-03-13 11:11:42 +01:00
📂C:\Users\Markus\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
#>
2021-10-19 08:24:17 +02:00
try {
if (Test-Path "$HOME/Repos/" -pathType Container) { # try short name
$path = "$HOME/Repos/"
} elseif (Test-Path "$HOME/repos/" -pathType Container) {
$path = "$HOME/repos/"
} elseif (Test-Path "$HOME/Repositories/" -pathType Container) { # try long name
$path = "$HOME/Repositories/"
} elseif (Test-Path "$HOME/source/repos/" -pathType Container) { # try Visual Studio default
$path = "$HOME/source/repos/"
} elseif (Test-Path "/Repos/" -pathType Container) {
$path = "/Repos/"
2022-11-08 21:02:45 +01:00
} else {
throw "The folder for Git repositories doesn't exist (yet)"
2022-11-25 14:27:24 +01:00
}
if (-not(Test-Path "$path" -pathType Container)) { throw "The path to 📂$path doesn't exist (yet)" }
$path = Resolve-Path "$path"
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
}