Цитата Шальной.:
показать, как заодно переименовать эти ярлыки, например в "Общий сетевой ресурс"? »
|
Например, так:
читать дальше »
Код:
![Выделить весь код](images/misc/selectcode.png)
Option Explicit
Dim arrShares
Dim objFSO
Dim objFile
Dim objWshShell
Dim objWshShortcut
Dim elem
arrShares = Array( _
Array("\\SRV1\Folder", "\\SRV2\Folder", "Общий сетевой ресурс.lnk" ), _
Array("\\SRV1\Folder2", "\\SRV3\Folder3", "Общий сетевой ресурс 2.lnk") _
)
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
For Each objFile In objFSO.GetFolder(objWshShell.SpecialFolders("Desktop")).Files
If LCase(objFSO.GetExtensionName(objFile.Name)) = "lnk" Then
Set objWshShortcut = objWshShell.CreateShortcut(objFile.Path)
For Each elem In arrShares
If LCase(elem(0)) = LCase(objWshShortcut.TargetPath) Then
objWshShortcut.TargetPath = elem(1)
objWshShortcut.Save
Set objWshShortcut = Nothing
objFile.Name = elem(2)
Exit For
End If
Next
End If
Next
Set objFSO = Nothing
Set objWshShell = Nothing
WScript.Quit 0
Цитата Шальной.:
почему копирование готового ярлыка это плохая идея? »
|
читать дальше »
Потому что зачастую (а при «ручном» создании наверняка) в ярлык «имплантируется» идентификатор ссылки для сопоставления. В ряде сценариев поведение ярлыка становится непредсказуемым. Когда-то Microsoft выставляла утилиту, позволяющую удалить его из ярлыка. Потому я предпочитаю создание ярлыка его клонированию. В первую очередь, это относится, конечно, к ссылкам на локальный ресурс, а не на сетевой.
Цитата Шальной.:
И если Вас не затруднит, не могли бы Вы прокомментировать строку:
Код: ![Выделить весь код](images/misc/selectcode.png)
objDictionary.Add "\\SRV1\Folder2", "\\SRV3\Folder3"
»
|
Я «улучшил» со своей стороны Ваше техзадание для поддержки замены более чем одного сетевого ресурса.