run - set path windows cmd
Símbolo del sistema: ¿cómo agregar una ruta establecida solo para la ejecución del archivo por lotes? (3)
Básicamente, sé que puedo pasar por mi panel de control y modificar la variable de ruta. Pero, me pregunto si hay una manera de a través de la programación por lotes tener una ruta temporal incluida? De esta forma, solo se usa durante la ejecución del archivo por lotes. No quiero que la gente entre y modifique sus variables de ruta solo para usar mi archivo por lotes.
Eso es correcto, pero no lo cambia permanentemente, sino solo para el símbolo del sistema actual, si desea cambiarlo permanentemente, debe usar, por ejemplo, esto:
setx ENV_VAR_NAME "DESIRED_PATH" /m
Esto lo cambiará de forma permanente y sí, puede sobrescribirlo mediante otro script por lotes.
Hay un detalle importante:
set PATH="C:/linutils;C:/wingit/bin;%PATH%"
no funciona, mientras
set PATH=C:/linutils;C:/wingit/bin;%PATH%
trabajos. La diferencia son las citas!
Al igual que cualquier otra variable de entorno, con SET
:
SET PATH=%PATH%;c:/whatever/else
Si desea tener un pequeño control de seguridad incorporado primero, verifique si la nueva ruta existe primero:
IF EXIST c:/whatever/else SET PATH=%PATH%;c:/whatever/else
Si desea que sea local para ese archivo por lotes, use setlocal
:
setlocal
set PATH=...
set OTHERTHING=...
@REM Rest of your script
Lea los documentos con cuidado para setlocal
/ endlocal
, y eche un vistazo a las otras referencias en ese sitio: Functions es muy interesante y la sintaxis es complicada.
La página de Syntax debería comenzar con los conceptos básicos.