mirror of
https://github.com/fleschutz/PowerShell.git
synced 2024-11-22 16:03:22 +01:00
Add list-special-folders.ps1
This commit is contained in:
parent
3cd545cbbb
commit
6bc3e59a0d
63
Scripts/list-special-folders.ps1
Normal file
63
Scripts/list-special-folders.ps1
Normal file
@ -0,0 +1,63 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Lists special folders
|
||||
.DESCRIPTION
|
||||
This PowerShell script lists all special folders (sorted alphabetically).
|
||||
.EXAMPLE
|
||||
PS> ./list-special-folders
|
||||
|
||||
Folder Name Folder Path
|
||||
----------- -----------
|
||||
Home Folder C:\Users\Markus
|
||||
...
|
||||
.LINK
|
||||
https://github.com/fleschutz/PowerShell
|
||||
.NOTES
|
||||
Author: Markus Fleschutz | License: CC0
|
||||
#>
|
||||
|
||||
function AddLine { param([string]$FolderName, [string]$FolderPath)
|
||||
New-Object PSObject -property @{ 'Folder Name' = "$FolderName"; 'Folder Path' = "$FolderPath" }
|
||||
}
|
||||
|
||||
function GetTempDir {
|
||||
if ("$env:TEMP" -ne "") { return "$env:TEMP" }
|
||||
if ("$env:TMP" -ne "") { return "$env:TMP" }
|
||||
if ($IsLinux) { return "/tmp" }
|
||||
return "C:\Temp"
|
||||
}
|
||||
|
||||
function ListSpecialFolders {
|
||||
if ($IsLinux) {
|
||||
AddLine "📂Desktop" "$HOME/Desktop"
|
||||
AddLine "📂Downloads" "$HOME/Downloads"
|
||||
AddLine "📂Home Folder" "$HOME"
|
||||
AddLine "📂My Documents" "$HOME/Documents"
|
||||
AddLine "📂My Music" "$HOME/Music"
|
||||
AddLine "📂My Pictures" "$HOME/Pictures"
|
||||
AddLine "📂My Screenshots" "$HOME/Pictures/Screenshots"
|
||||
AddLine "📂My Videos" "$HOME/Videos"
|
||||
AddLine "📂Temporary Folder" "$(GetTempDir)"
|
||||
} else {
|
||||
$Path = Resolve-Path "$HOME/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup"
|
||||
AddLine "📂Autostart" "$Path"
|
||||
AddLine "📂Desktop" "$([Environment]::GetFolderPath('DesktopDirectory'))"
|
||||
AddLine "📂Downloads" "$((New-Object -ComObject Shell.Application).NameSpace('shell:Downloads').Self.Path)"
|
||||
AddLine "📂Fonts" "$([Environment]::GetFolderPath('Fonts'))"
|
||||
AddLine "📂Home Folder" "$HOME"
|
||||
AddLine "📂My Documents" "$([Environment]::GetFolderPath('MyDocuments'))"
|
||||
AddLine "📂My Music" "$([Environment]::GetFolderPath('MyMusic'))"
|
||||
AddLine "📂My Pictures" "$([Environment]::GetFolderPath('MyPictures'))"
|
||||
AddLine "📂My Screenshots" "$([Environment]::GetFolderPath('MyPictures'))\Screenshots"
|
||||
AddLine "📂My Videos" "$([Environment]::GetFolderPath('MyVideos'))"
|
||||
AddLine "📂Temporary Folder" "$(GetTempDir)"
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
ListSpecialFolders | Format-Table -property @{e='Folder Name';width=20},'Folder Path'
|
||||
exit 0 # success
|
||||
} catch {
|
||||
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
|
||||
exit 1
|
||||
}
|
Loading…
Reference in New Issue
Block a user