Necesito saber todas las variables de entorno que se pueden obtener con GETENV()

95 views
Skip to first unread message

acmc

unread,
Jul 4, 2014, 12:35:34 PM7/4/14
to publice...@googlegroups.com
Hola Foxeros..

Ando buscando un listado de todas las variables que se pueden obtener con la funcion GETENV() pero no encuentro información alguna, alguien que tengo algo por ahí que me pueda compartir.

Salu2!!

Staff de Desarrollos EfiMax

unread,
Jul 4, 2014, 12:36:58 PM7/4/14
to publice...@googlegroups.com

Abre una consola y tipea SET

 

suerte

 

 

 

____________________________________

Carlos Omar Figueroa López

Ingeniero Industrial y de Sistemas

http://www.efimax.com.mx

Fernando D. Bozzo

unread,
Jul 4, 2014, 1:23:54 PM7/4/14
to publice...@googlegroups.com
Hola:

Como puso EfiMax, SET (del DOS) te dice todas las que hay definidas en el momento que lo ejecutes, pero al ser "variables", éstas pueden cambiar en número o contenido, ya que distintos programas pueden alterar sus valores, o crear nuevas variables.
Por ejemplo, al ejecutar un SET desde una instalcia de Citrix vas a ver algunas variables que fuera de Citrix no ves, lo mismo si ejecutás un SET desde una ejecución de CruiseControl o desde PlasticSCM, y como estos casos hay muchos otros, así que todo depende de qué quieras obtener.


Saludos.-

acmc

unread,
Jul 7, 2014, 11:04:35 AM7/7/14
to publice...@googlegroups.com
Gracias por sus respuestas!!

Walter Valle

unread,
Jul 7, 2014, 12:47:40 PM7/7/14
to publice...@googlegroups.com
Hola,

En lo personal uso una función que hice hace algun tiempo. Creo que la puedes adaptar a tu necesidad.

Esta función te genera un arreglo publico donde guardo el nombre de la variable y su contenido. Al final te retorna el numero de elementos que tendrá el arreglo ADOSEnv, espero te sirva.

? getDOSEnv()

PROCEDURE getDOSEnv
LOCAL cFile, cCMD, cVars, nLines, x, cNombre, cContenido
LOCAL ARRAY arrVars(1)
*
IF TYPE('ADOSEnv', 1) = 'A'
  RELEASE ADOSEnv
ENDIF
PUBLIC ARRAY ADOSEnv(1)
*
cFile   = FULLPATH('') + SYS(3) + '.TXT'
cCMD = '!SET > &cFile'
&cCMD
*
cVars = FILETOSTR(cFile)
ERASE (cFile)
nLines = ALINES(arrVars, cVars)
DIMENSION ADOSEnv(nLines, 2)
FOR x = 1 TO nLines
  cNombre = GETWORDNUM(arrVars(x), 1, '=')
  cContenido = GETWORDNUM(arrVars(x), 2, '=')
  ADOSEnv(x, 1) = cNombre
  ADOSEnv(x, 2) = cContenido
ENDFOR
*
RETURN nLines

Saludos,

Walter Valle
Reply all
Reply to author
Forward
0 new messages