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 :

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
Ensuite j'appel ce code depuis un peu plus haut dans le meme fichier que celui qui contient les 2 fonctions.

Si je mets :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
addShortcutToDesktop "http://intranet", "Intranet"
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
 
removeShortcutFromDesktop "http://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
2
3
 
removeShortcutFromDesktop "http://intranet"
addShortcutToDesktop "http://intranet", "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.

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