Définition des variables d'environnement pour le système par le biais d'un fichier de commandes

Je suis à l'aide d'un .bat fichier afin d'automatiser certaines tâches pour mon moteur (une fois qu'il est fraîchement cloné à partir du référentiel). L'une des tâches est de définir les variables d'environnement. Je suis l'aide de la SETX de commande et de définir le chemin d'accès de la variable nommée être %CD%, c'est à dire le répertoire dans lequel le programme d'installation a été exécuté.

Cela fonctionne bien, même si l'utilisateur a besoin de log-off/log-on qui peut être gênant. Cette log-off/log-on cycle n'est pas nécessaire si la variable est définie comme la variable du système (je ne suis pas sûr pourquoi, mais de redémarrer Visual Studio n'a aucun effet sur les variables d'environnement utilisateur... qui est, il détecte pas les changements, mais il permet de détecter des changements dans les variables système). J'ai donc procédé à utiliser le -m de commande. Malheureusement, cela nécessite que le fichier batch a des privilèges d'administrateur. Pas de problème, j'ai couru le fichier de commandes en tant qu'administrateur. Eh bien, maintenant j'ai rencontré un problème. Le répertoire courant variable, %CD% changé depuis le répertoire du programme d'installation est exécuté à partir de, à C:\Windows\System32.

Donc maintenant sur la question. Comment puis-je définir des variables d'environnement du système par l'intermédiaire d'un fichier de commandes qui utilise %CD% sans défaut C:\Windows\System32. Juste une remarque, pas mal de gens utilisent le programme d'installation et je voudrais que ce processus aussi indolore et les erreurs que possible. Ce qui signifie, en aucune entrée de manuel est préféré. Actuellement, si elle est exécutée sans privilèges d'administrateur et sans -m, la seule chose nécessaire est un log-off/log-on cycle. Sinon, tout est automatisé.

OriginalL'auteur Samaursa | 2011-07-10