1

Как создать пакетный файл для поиска и удаления ярлыков во всех каталогах, которые указывают на конкретное место назначения (например, C:\App\Program.exe), независимо от имени файла?

1 ответ1

1

Возможно, вы захотите начать с сканирования файлов * .lnk и использовать функции powershell для тщательного анализа каждого ярлыка. Как эта функция, которая смотрит в общую папку рабочего стола, найденную в MS technet; Это не готовое решение, но я думаю, вам будет весело сделать это так ..

function Get-DesktopShortcuts{
    $Shortcuts = Get-ChildItem -Recurse "C:\users\public\Desktop" -Include *.lnk
    $Shell = New-Object -ComObject WScript.Shell
    foreach ($Shortcut in $Shortcuts)
    {
        $Properties = @{
        ShortcutName = $Shortcut.Name;
        ShortcutFull = $Shortcut.FullName;
        ShortcutPath = $shortcut.DirectoryName
        Target = $Shell.CreateShortcut($Shortcut).targetpath
        }
        New-Object PSObject -Property $Properties
    }

[Runtime.InteropServices.Marshal]::ReleaseComObject($Shell) | Out-Null
}

$Output = Get-DesktopShortcuts
$Output | Out-GridView

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .