-
-
Notifications
You must be signed in to change notification settings - Fork 435
/
cd-repos.ps1
executable file
·46 lines (45 loc) · 1.42 KB
/
cd-repos.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<#
.SYNOPSIS
Sets the working directory to the Git repos folder
.DESCRIPTION
This PowerShell script changes the working directory to the Git repositories folder.
.PARAMETER subpath
Specifies an additional relative subpath (optional)
.EXAMPLE
PS> ./cd-repos.ps1
📂C:\Repos
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz | License: CC0
#>
try {
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"
} elseif (Test-Path "~/source/repos" -pathType Container) { # try Visual Studio default
$path = "~/source/repos"
} else {
throw "No Git repositories folder in your home directory or in the root folder yet"
}
$path = Resolve-Path $path
Set-Location "$path"
"📂$path"
exit 0 # success
} catch {
"⚠️ Error: $($Error[0])"
exit 1
}