Lancer un raccourci à l'aide d'un fichier batch


12

Voici le problème.

J'ai un raccourci sur environ 260 ordinateurs situés dans le même dossier que ci-dessous;

"c: \ documents et paramètres \ tous les utilisateurs \ bureau \ Agent distant 1234 .lnk"

La seule chose qui change sur le raccourci est le nombre. Existe-t-il un moyen d'utiliser un caractère générique dans un fichier de commandes pour lancer le raccourci au lieu d'avoir à spécifier le nom de fichier complet?

Réponses:


6

Vous pouvez utiliser pour ou des fichiers pour cette tâche. Forfiles est plus flexible, mais il peut ne pas fonctionner correctement sur les anciennes versions de Windows.

Pour

À partir d'une invite de commande:

for %a in ("C:\Documents and Settings\All Users\Desktop\Remote agent *.lnk") do @start "" "%a"

Dans un fichier batch:

for %%a in ("C:\Documents and Settings\All Users\Desktop\Remote agent *.lnk") do @start "" "%%a"

Forfiles

forfiles /P "C:\Documents and Settings\All Users\Desktop" /M "Remote agent *.lnk" /C "cmd /C start \"\" @path"

Forfiles parcourt tous les fichiers du chemin spécifié dans /Pqui correspondent au masque spécifié dans /Met exécute la commande spécifiée dans /C. Voici @pathle chemin complet du fichier.

Normalement, nous utilisons la commande start "" "Remote Agent 1234.lnk"pour lancer le raccourci. Puisque start est une commande interne, nous devons l'appeler dans un nouveau shell ( cmd /C). \"\"sont juste des guillemets doubles échappés, car la chaîne entière est déjà entre guillemets.


forfiles / P "C: \ Documents and Settings \ All Users \ Desktop" / M "Remote agent * .lnk" / C "cmd / C start \" \ "@path" répertorie les fichiers du dossier mais n'ouvre pas le raccourci.
ghost3h

C'est étrange. L'écho des noms de fichiers est l'action par défaut, mais le /Ccommutateur la remplace. Quelle version de Windows?
Dennis

Xp Professional, sa liste également toutes les extensions de fichiers qui, je suppose, n'est pas normale?
ghost3h

Ne ressemble pas à son Dennis pris en charge, encore une fois, il fait écho aux fichiers dans le répertoire à partir duquel il est exécuté. Merci pour l'aide jusqu'à présent!
ghost3h

Je viens de trouver une source disant que certaines anciennes versions de forfiles utilisent -des commutateurs au lieu de /(très atypique pour Windows). Peut-être que cela fonctionne:forfiles -P"C:\Documents and Settings\All Users\Desktop" -M"Remote agent *.lnk" -C"cmd /C start \"\" @path"
Dennis
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.