Как удалить все файлы ярлыков (.lnk) для определенного программного обеспечения с компьютера?

Я пытаюсь удалить все файлы.lnk из системы для определенного программного обеспечения. Есть ли вообще удалить все ярлыки с помощью реестра?

Я написал C# -программу, которая ищет на всей машине определенный файл.lnk, и он удаляет с машины, но я знаю, что это недопустимо, и в этом подходе ярлык меню Пуск все еще закреплен.

Может ли кто-нибудь помочь мне, как решить эту проблему общим способом.

Здесь я использую Advanced Installer, в то время как удаление программного скрипта должно удалить все ярлыки с машины.

1 ответ

Все, что вам нужно сделать, это открыть командную строку,

Тип: cd\*

Затем введите: del *.lnk*

На это уйдет час.

* Команды для Windows

Вы захотите использовать возможность Windows Scripting Host для редактирования файлов ярлыков. Он называется CreateShortcut, но будьте уверены, он также может открывать и изменять их.

$Target = [RegEx]::Escape("C:\Program Files\Something\Application.exe") #Change this to the path to your executable
$wshShell = new-object -comobject WScript.Shell
get-childitem -path C:\ -filter *.lnk -recurse | foreach-object {
    $shortcut = $wshShell.CreateShortcut($_.FullName)
    If($shortcut.TargetPath -match $Target){$_.Delete()}
}

Он сканирует весь жесткий диск на наличие ярлыков (*.LNK), и для каждого, который он находит, он открывает его свойства, проверяет цель, и, если он соответствует пути к исполняемому файлу, удаляет его.

Другие вопросы по тегам