Salut,
j'essaye de créer et supprimer des shortcuts sur le bureau via script. J'ai un comportement vraiment étrange. J'ai ecris 2 fonctions, une pour créer un shortcut, l'autre pour en effacer :
Ensuite j'appel ce code depuis un peu plus haut dans le meme fichier que celui qui contient les 2 fonctions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 Function addShortcutToDesktop(pstrUrl, pstrName) On Error Resume Next Dim objShortcut Dim strDesktop strDesktop = objShell.SpecialFolders("Desktop") Set objShortcut = objShell.CreateShortcut(strDesktop & "\" & pstrName & ".url") objShortcut.TargetPath = pstrUrl objShortcut.Save Set objShortcut = Nothing End Function Function removeShortcutFromDesktop(pstrUrl) Dim custFile Dim strDesktopFolder, desktopFolder, custFolder, extension Dim fullname, shortcut, shortTarget strDesktopFolder = objShell.SpecialFolders("Desktop") Set desktopFolder = objFSO.GetFolder(strDesktopFolder) Set custFolder = desktopFolder.Files For Each custFile in custFolder extension = objFSO.GetExtensionName(LCase(custFile.name)) If extension = "url" then fullname = objFSO.GetAbsolutePathName(custFile) Set shortcut = objShell.CreateShortcut(fullname) shortTarget = shortcut.TargetPath If InStr(shortTarget, pstrUrl) then Dim myFileToDelete Set myFileToDelete = objFSO.GetFile(fullname) myFileToDelete.Delete 'WScript.Echo "deleting shorcut to " & pstrUrl WScript.sleep 5000 End If End If Next End Function
Si je mets :
sans surprise il me créé un shortcut intitulé Intranet sur le bureau, et ce shortcut fonctionne correctement. Maintenant je mets ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 addShortcutToDesktop "http://intranet", "Intranet"
et ca me l'efface. Si le shortcul n'est pas là, ca ne fait rien. Enfin je mets ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2removeShortcutFromDesktop "http://intranet"
et là, il commence par effacer le shortcut, et ensuite il crée un raccourci non fonctionnel: "The target of this Internet Shortcut is not valid". Je remarque que l'icone du shortcut n'est pas le meme que d'habitude, et il manque l'onglet "Web document" si je regarde les propriétés de ce shortcut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 removeShortcutFromDesktop "http://intranet" addShortcutToDesktop "http://intranet", "Intranet"
Je ne comprends vraiment pas pourquoi les 2 commandes exécutées à la suite posent probleme alors qu'executé individuellement, elles ne posent pas de probleme.
Je suis preneur de toute suggestion
merci
Partager