Estoy buscando algo similar a esta pregunta. Sin embargo, estoy buscando específicamente dinámicamente encontrar la ubicación de la carpeta temp del sistema (es decir, la carpeta temp utilizado por los servicios).

Es esto posible?

Gracias,

InformationsquelleAutor Mike | 2009-11-05

6 Comentarios

  1. 2

    Aquí tienes (en VBS)

    Set environmentVars = WScript.CreateObject("WScript.Shell").Environment("Process")
    tempFolder = environmentVars("TEMP")
    msgbox(tempFolder)

    No estoy seguro de si su sistema tiene una variable de entorno llamada «TEMP», así que ir a la línea de comandos y escriba

    set

    Obtendrás una lista de medio ambiente vars, y sus valores. Escoge el que tiene la carpeta temp en ella.

  2. 1
    Set objShell = CreateObject("WScript.Shell")
    Set colEnvironment = objShell.Environment("PROCESS")
    objPath = colEnvironment("temp")
    WScript.Echo objPath    

    En ese caso

    Set objShell = CreateObject("WScript.Shell")
    Set colEnvironment = objShell.Environment("PROCESS")
    objPath = colEnvironment("windir")
    WScript.Echo objPath & "\temp"    

    espero que esto ayude a

    • Esto todavía parece estar volviendo a «mi» temp dir. En lugar de que el sistema de directorios. por ejemplo, en WinXP estoy mirando para conseguir «C:\WINSOWS\Temp» y no a mi temp dir.
    • Es «windir» consistente a través de otros sistemas operativos? Se servicios se ejecutan en Server2008 todavía uso %winddir%\Temp ?
    • También puede utilizar «systemroot» en lugar de «windir». Todas estas son variables de Entorno por defecto en el sistema y en la medida de como se creo, esto no debe cambiar con las nuevas versiones de windows, de lo contrario en la actualización del servidor de todas las aplicaciones instaladas (que utiliza estas variables de entorno) se producirá un error.
    • Lo que sea, permítanme mencionar claramente aquí, que no sé si la carpeta temp para servicios reside en «%windir%\temp» o «%systemroot%\temp» para Server 2008 o no. Yo creo que nadie puede tener server 2008 instalado nos puede ayudar tratando de %systemroot%\temp en la ventana ejecutar y háganoslo saber.
  3. 1

    Después de investigar un poco en esto, creo que no hay manera de usar variables de entorno para la captura de la ubicación de otro usuario de la carpeta %TEMP% (en este caso el usuario del Sistema).

  4. 1

    Las variables de entorno del SISTEMA se almacena en la clave del registro: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Entorno

    Las variables de entorno para los usuarios es almacenada en las claves del registro: HKEY_USERS[SID de usuario]\Entorno

    Con el fin de obtener el valor de cualquier variable de entorno (en particular TEMP), necesario para comprobar la presencia de esta variable en la rama especifica el usuario. Si es así, entonces usted puede utilizar. Si no es así, entonces usted necesita tomar un valor en el registro del sistema de la sucursal.

  5. -1

    En C#, su…

    Sistema.Las colecciones.IDictionary Vars = Sistema.Medio ambiente.GetEnvironmentVariables();

    Cadena TempPath = Vars[«TEMP»];

    Usted obtener toda una gama de elementos… Camino, Temp, SessionName, PathExt, UserDomain, SystemDrive, WinDir, etc…

    • En C# yo prefiero usar: Ruta de acceso.GetTempPath()
    • Sí, sin embargo, algo como esto se va a exponer a los demás a un grupo mayor de elementos que no han conocido estaban allí. El Sistema.Área de medio ambiente tiene un montón de cosas disponibles en ella.
    • Creo que la solución es necesaria en vbscript.

Dejar respuesta

Please enter your comment!
Please enter your name here