1 votes

Variable d'environnement

J'utilise setx pour définir une variable d'environnement.

Ma commande est

setx -m PSR_NLC_FILE "%PROGRAMFILES(x86)%\Test Folder\"

Mais lorsque je vérifie mon système, il est réglé sur

C:\Program Files (x86)\Test Folder"

Le chemin n'est pas trouvé à cause de la citation.

Lorsque j'utilise cette commande pour une autre variable d'environnement, celle-ci est définie correctement sans guillemets.

setx -m PSR_NLC_FILE "%PROGRAMFILES(x86)%\Test Folder\File.lic"
C:\Program Files (x86)\Test Folder\File.lic

Quelqu'un peut-il m'expliquer ce que je fais de travers ?

2voto

Gadash Points 11

Regarder h

Certaines commandes (par exemple REG et FINDSTR) utilisent le caractère d'échappement standard \ (utilisé par C, Python, SQL, bash et de nombreux autres langages). Le caractère d'échappement \N peut causer des problèmes avec les chemins de répertoire cités qui contiennent une barre oblique inverse à la fin car le guillemet fermant " à la fin de la ligne sera échappé \N".

Dans votre cas, une autre barre oblique inverse devrait faire l'affaire

setx -m PSR_NLC_FILE "%PROGRAMFILES(x86)%\Test Folder\\"

1voto

Ne mettez pas de barre oblique inverse à la fin de votre commande. Elle n'est pas nécessaire pour que le nom du chemin soit interprété correctement.

La commande modifiée se présente comme suit :

setx -m PSR_NLC_FILE "%PROGRAMFILES(x86)%\Test Folder"

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