Скрипт для удаления ярлыков не будет работать с номерами версий - PullRequest
0 голосов
/ 24 апреля 2020

Я запускаю vbscript для удаления ярлыков на рабочем столе, установленных другой программой, но у меня проблема, хотя один ярлык упрямый

set WshShell = WScript.CreateObject("WScript.Shell" ) 
strDesktop = WshShell.SpecialFolders("Desktop" )
' delete this shortcut
strShortcut = strDesktop & "\Shortcut Name 2.0.lnk"

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(strShortcut) Then fso.DeleteFile(strShortcut)

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

Спасибо.

1 Ответ

2 голосов
/ 24 апреля 2020

Файл, который вы хотите удалить, вероятно, еще не существует, If fso.FileExists(strShortcut) Then маскирует этот факт.

Ярлык, который вы видите на рабочем столе, не обязательно должен находиться в папке Desktop, которую вы приобретено с помощью WshShell.SpecialFolders("Desktop").

В другом месте элементы рабочего стола хранятся как расширение каталогов всех пользователей, но для изменения могут потребоваться права администратора, я не уверен, вам нужно попробовать .

Итак, в дополнение к SpecialFolders("Desktop"), вам также следует рассмотреть каталог SpecialFolders("AllUsersDesktop").

Set Fso = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")

userDesktop = WshShell.SpecialFolders("Desktop")
publicDesktop = WshShell.SpecialFolders("AllUsersDesktop")

shortcutName = "Shortcut Name 2.0.lnk"

userShortcut = Fso.BuildPath(userDesktop, shortcutName)
publicShortcut = Fso.BuildPath(publicDesktop, shortcutName)

If Fso.FileExists(userShortcut) Then 
    Fso.DeleteFile userShortcut, True
    MsgBox "User shortcut deleted."
End If

If Fso.FileExists(publicShortcut) Then
    Fso.DeleteFile publicShortcut, True
    MsgBox "Public shortcut deleted."
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...