Iska, я имел в виду, что известен только путь к файлу на который ссылается ярлык.
«Ну, так это совсем другое дело!»
Код:
Код: Выделить всё
Option Explicit
Dim strGoalTargetPath
Dim objFolder
Dim objFSO
Dim objFile
Dim objWshShell
Dim objWshShortcut
strGoalTargetPath = "C:\WINDOWS\system32\calc.exe"
Set objFolder = WScript.CreateObject("Shell.Application").NameSpace("shell:Desktop")
If Not objFolder Is Nothing Then
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
For Each objFile In WScript.CreateObject("Scripting.FileSystemObject").GetFolder(objFolder.self.Path).Files
If LCase(objFSO.GetExtensionName(objFile.Name)) = "lnk" Then
Set objWshShortcut = objWshShell.CreateShortcut(objFile.Path)
If LCase(objWshShortcut.TargetPath) = LCase(strGoalTargetPath) Then
WScript.Echo objFile.Name, objWshShortcut.TargetPath
'objFile.Delete True
End If
End If
Next
Set objWshShell = Nothing
Set objFSO = Nothing
Else
WScript.Echo "Can't determine user desktop folder"
End If
WScript.Quit 0Если корректно находит потребный ярлык — раскомментируйте выделенную строку для удаления ярлыка, ссылающегося на заданный объект.