46 строки
1.6 KiB
PowerShell
46 строки
1.6 KiB
PowerShell
|
<#
|
|||
|
.Synopsis
|
|||
|
Remove a shortcut
|
|||
|
.Description
|
|||
|
Remove a shortcut
|
|||
|
.Parameter Name
|
|||
|
Name of shortcut to remove from all locations
|
|||
|
#>
|
|||
|
function Remove-DesktopShortcut {
|
|||
|
Param (
|
|||
|
[Parameter(Mandatory=$true)]
|
|||
|
[string] $Name
|
|||
|
)
|
|||
|
"Desktop","CommonDesktop" | % {
|
|||
|
$environmentPath = [Environment]::GetFolderPath($_)
|
|||
|
If ($environmentPath -ne "") {
|
|||
|
$filename = Join-Path $environmentPath "$Name.lnk"
|
|||
|
if (Test-Path -Path $filename -PathType Leaf) {
|
|||
|
Remove-Item $filename -force
|
|||
|
}
|
|||
|
else {
|
|||
|
$folderName = $Name.Split(' ')[0]
|
|||
|
$shortcutName = $name.Substring($folderName.Length).TrimStart(' ')
|
|||
|
$folderName = Join-Path $environmentPath $folderName
|
|||
|
$filename = Join-Path $foldername "$shortcutName.lnk"
|
|||
|
if (Test-Path -Path $filename -PathType leaf) {
|
|||
|
Remove-Item $filename -Force
|
|||
|
try {
|
|||
|
Remove-Item $folderName -Recurse -force
|
|||
|
} catch {}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
"StartMenu","CommonStartMenu" | % {
|
|||
|
$environmentPath = [Environment]::GetFolderPath($_)
|
|||
|
if ($environmentPath -ne "") {
|
|||
|
$filename = Join-Path $environmentPath "BcContainerHelper\$Name.lnk"
|
|||
|
if (Test-Path -Path $filename) {
|
|||
|
Remove-Item $filename -force
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
Export-ModuleMember -Function Remove-DesktopShortcut
|