DOS - Récupérer la cible d'un raccourci

DOS - Récupérer la cible d'un raccourci - Shell/Batch - Programmation

Marsh Posté le 03-10-2005 à 16:22:09    

Bonjour à tous.  
 
Je souhaiterais savoir s'il existe une commande DOS permettant de récupérer la cible sur laquelle pointe un raccourci.  
 
Je souhaite scanner tous les raccourcis présents sur le bureau et en tester la cible.
 
Ceci est dans l'objectif des tester la présence d'un raccourci sur le bureau qui aurait pu être renommé.  
 
Merci par avance.

Reply

Marsh Posté le 03-10-2005 à 16:22:09   

Reply

Marsh Posté le 03-10-2005 à 21:05:01    

Ce n'est pas logique ce que tu demandes...
 
Dos et les raccourcis, ça fait 50 ;)
 
Ce que tu cherches, c'est plutôt un utilitaire en version ligne de commandes. Les commandes Windows fournies par défaut ne le font pas.
 
Tu peux essayer shortcut.exe sur optimumx.com.

Reply

Marsh Posté le 04-10-2005 à 10:50:13    

sinon tu as Windoctor du systemworks qui fait ça, entre autres choses.
(enfin c'est plus de la prog là, ni du shell :D)

Reply

Marsh Posté le 04-10-2005 à 12:31:37    

nglechau, je déploie des applicatifs qui créent un raccourci par défaut sur le bureau. Mais certains utilisateurs ambitieux renomment celui ci. Lors du lancement de l'application, je teste la présence ou non du raccourci sur le bureau. Mais je le teste par son nom... Si je ne le retrouve pas, je déploie à nouveau l'applicatif. Donc, l'idée est de ne pas redéployer l'appli si le raccourci est toujours présent mais avec un autre nom.
 
Merci pour votre aide.

Reply

Marsh Posté le 04-10-2005 à 13:13:29    

Et alors ? ;)
 
S'il ne fallait pas vérifier la cible, je ne t'aurais pas proposé autre chose qu'un
if exist
fourni par Windows.

Reply

Marsh Posté le 04-10-2005 à 17:11:10    

Bunz a écrit :

nglechau, je déploie des applicatifs qui créent un raccourci par défaut sur le bureau. Mais certains utilisateurs ambitieux renomment celui ci. Lors du lancement de l'application, je teste la présence ou non du raccourci sur le bureau. Mais je le teste par son nom... Si je ne le retrouve pas, je déploie à nouveau l'applicatif. Donc, l'idée est de ne pas redéployer l'appli si le raccourci est toujours présent mais avec un autre nom.
 
Merci pour votre aide.


 
c'est vilain, tu peux pas te faire une section dans la base du registre avec tes marqueurs de déploiement ?
un pitit .vbs devrait permettre ça.

Reply

Marsh Posté le 04-10-2005 à 17:57:34    

C'est une solution à laquelle je dois penser effectivement mais je crains que l'on ne me laisse pas trop tripotter dans le registre .... Je vais me renseigner ...
 
Merci encore à tous les deux

Reply

Marsh Posté le 04-10-2005 à 18:01:39    

bin si c'est un script de login, ou truc lancé a distance via le contrôleur de domaine, tu fais ce que tu veux.
 
c'est pour quoi faire des installations de softs sur un parc de machine ?

Reply

Marsh Posté le 05-10-2005 à 09:54:20    

En fait, ce sont des petits applicatifs SAS (logiciel de stat). En fait, cela ressemble un peu au java car il s'agit de 'copier' des catalogues de 'classes' ainsi qu'un fichier de démarrage type 'autoexec'. Le raccourci pointe sur l'autoexec qui lance le moteur sur un serveur distant lequel ensuite vient appeler une classe.
Il ne s'agit donc pas d'une installation de soft à proprement dit mais plus de 'package'.
C'est pour cela que lors de mes 'scripts' d'installation, je n'écris rien dans le registre ...

Reply

Marsh Posté le 04-08-2006 à 22:52:19    

Salut, j'ai commencer ceci:
 
For /f "tokens=* delims=" %%i In ('Type raccourci.link') Do echo %%i
 
Mais cela n'affiche que La ou Le.
 
Si quelqu'un peut nous aider ?


Message édité par webding le 04-08-2006 à 22:52:43
Reply

Marsh Posté le 04-08-2006 à 22:52:19   

Reply

Marsh Posté le 15-03-2008 à 09:56:14    

wackevat a écrit :

Ce n'est pas logique ce que tu demandes...
 
Dos et les raccourcis, ça fait 50 ;)
 
Ce que tu cherches, c'est plutôt un utilitaire en version ligne de commandes. Les commandes Windows fournies par défaut ne le font pas.
 
Tu peux essayer shortcut.exe sur optimumx.com.


 
mais ou télécharger optimumx ?

Reply

Marsh Posté le 15-03-2008 à 14:17:16    

Voici un petit programme de ma création écrit en VBS :

Set objShell = WScript.CreateObject("WScript.Shell" )
Path1 = objShell.SpecialFolders.Item("AllUsersDesktop" )
' Wscript.Echo "AllUsersDesktop:" & Path1
Set fso = CreateObject("Scripting.FileSystemObject" )
Set f = fso.GetFolder(Path1)
Set fc = f.Files
For Each f1 in fc
   If (fso.GetExtensionName(f1) = "lnk" ) Then
      Set myShortcut = objShell.CreateShortcut(f1.path)
      WScript.Echo f1.name & "-->" & myShortcut.TargetPath
   End If
Next
 
Path1 = objShell.SpecialFolders.Item("Desktop" )
'Wscript.Echo "Desktop:" & Path1
Set f = fso.GetFolder(Path1)
Set fc = f.Files
For Each f1 in fc
   If (fso.GetExtensionName(f1) = "lnk" ) Then
      Set myShortcut = objShell.CreateShortcut(f1.path)
      WScript.Echo f1.name & "-->" & myShortcut.TargetPath
   End If
Next

VBS est disponible en standard depuis Wndows 95. Il suffit de copier ces lignes dans un fichier que l'on nommera, par exemple, "showlnk.vbs", et de cliquer dessus pour l'exécuter.
Ce programme tourne sur mon PC avec Windows Millennium. Je ne l'ai pas testé sur d'autres versions de Windows, mais je crois qu'il devrait marcher. Il y a des plusieurs moyens pour interfacer un programme "vbs" avec un programme "bat", et cela pourra faire l'objet d'une autre question ou d'une recherche sur internet.
 
Contrairement à son nom CreateShortcut ne crée pas de raccourci si le chemin existe déjà (ce qui est forcément le cas ici). CreateShortcut crée juste un objet en mémoire dont la propriété TargetPath contient la cible du lien.
 
Il y a deux boucles : La première concerne les raccourcis communs à tous les utilisateurs du poste, et la seconde concerne les raccourcis de l'utilisateur courant.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed