Как удалить все файлы ярлыков (.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), и для каждого, который он находит, он открывает его свойства, проверяет цель, и, если он соответствует пути к исполняемому файлу, удаляет его.