PowerShell/scripts/cd-repos.ps1

47 lines
1.4 KiB
PowerShell
Raw Normal View History

2024-10-01 15:11:03 +02:00
<#
2021-07-13 21:10:02 +02:00
.SYNOPSIS
Sets the working directory to the Git repos folder
2021-10-04 21:29:23 +02:00
.DESCRIPTION
This PowerShell script changes the working directory to the 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
📂C:\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 {
2025-01-08 16:09:55 +01:00
if (Test-Path "~/Repos" -pathType Container) { # try short name in home dir
$path = "~/Repos"
} elseif (Test-Path "~/repos" -pathType Container) {
$path = "~/repos"
} elseif (Test-Path "~/Repositories" -pathType Container) { # try long name
$path = "~/Repositories"
} elseif (Test-Path "~/repositories" -pathType Container) {
$path = "~/repositories"
} elseif (Test-Path "/Repos" -pathType Container) { # try short name in root dir
$path = "/Repos"
} elseif (Test-Path "/repos" -pathType Container) {
$path = "/repos"
} elseif (Test-Path "/Repositories" -pathType Container) { # try long name
$path = "/Repositories"
} elseif (Test-Path "/repositories" -pathType Container) {
$path = "/repositories"
2024-10-30 13:19:56 +01:00
} elseif (Test-Path "~/source/repos/" -pathType Container) { # try Visual Studio default
$path = "~/source/repos/"
2022-11-08 21:02:45 +01:00
} else {
2025-01-08 16:09:55 +01:00
throw "No Git repositories folder in your home directory or in the root folder yet"
2022-11-25 14:27:24 +01:00
}
2025-01-08 16:09:55 +01:00
$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
}