Símbolo del sistema: ¿Cómo agregar una ruta de acceso establecida solo para ese archivo por lotes que se ejecuta?


Básicamente, sé que puedo ir a través de mi panel de control y modificar la variable path. Pero, me pregunto si hay una manera de a través de la programación por lotes tienen una ruta temporal incluido? De esta manera 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.

Author: michael, 2011-07-26

3 answers

Al igual que cualquier otra variable de entorno, con SET:

SET PATH=%PATH%;c:\whatever\else

Si desea tener una pequeña comprobación de seguridad incorporada primero, verifique si la nueva ruta existe primero:

IF EXIST c:\whatever\else SET PATH=%PATH%;c:\whatever\else

Si desea que sea local a ese archivo por lotes, use setlocal:

setlocal
set PATH=...
set OTHERTHING=...

@REM Rest of your script

Lea los documentos cuidadosamente para setlocal/endlocal , y echa un vistazo a las otras referencias en ese sitio - Functions también es bastante interesante y la sintaxis es complicada.

El Syntax la página debería ayudarte a empezar con lo básico.

 230
Author: Mat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-10 17:31:09

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á permanentemente y sí, puede sobrescribirlo con otro script por lotes.

 16
Author: dumbak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-16 06:40:56

Hay un detalle importante:

set PATH="C:\linutils;C:\wingit\bin;%PATH%"

No funciona, mientras que

set PATH=C:\linutils;C:\wingit\bin;%PATH%

Funciona. ¡La diferencia son las citas!

 11
Author: 18446744073709551615,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-03 12:37:50