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?

ghost3h
la source

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.

Dennis
la source
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