2 votes

Comment la commande start batch exécute-t-elle un logiciel en n'appelant que son nom ?

Par exemple, je lance superuser.com via firefox par cette commande :

start firefox http://superuser.com

Comment "start" sait-il où se trouve mon firefox.exe ? Je suppose qu'il le lit dans le registre (il n'est pas défini dans mon PATH) mais alors comment la commande de démarrage et le registre du système d'exploitation sont-ils interconnectés ? Quels registres sont utilisés exactement ?

2voto

Dennis Points 46916

Oui, ces informations sont stockées dans le registre.

La clé

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

a des sous-clés pour chaque application que vous pouvez exécuter directement sans être dans le chemin.

La sous-clé firefox.exe a deux valeurs :

(Default)    C:\Program Files\Mozilla Firefox\firefox.exe
Path         C:\Program Files\Mozilla Firefox\

La première valeur indique le chemin complet de l'exécutable, la seconde le répertoire dans lequel il doit s'exécuter.

Enregistrement de la demande (Windows) explique en détail Windows rechercherait le firefox exécutable :

Lorsque le ShellExecuteEx est appelée avec le nom d'un fichier exécutable dans sa section lpFile il y a plusieurs endroits où la fonction recherche le fichier. Nous vous recommandons d'enregistrer votre application dans la section Voies d'accès aux applications sous-clé du registre. De cette façon, les applications n'ont pas besoin de modifier la variable d'environnement PATH du système.

Le fichier est recherché dans les emplacements suivants :

  • Le répertoire de travail actuel.
  • Le site Windows uniquement (aucun sous-répertoire n'est recherché).
  • Le site Windows \System32 répertoire.
  • Répertoires répertoriés dans la variable d'environnement PATH.
  • Recommandé :
    HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows\CurrentVersion\App Chemins d'accès

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X