- Windows 7.
- Es para mi propia máquina, por lo que no importa si requiere derechos de administrador o algo así.
- Preferentemente en Python o .NET, pero puedo aprender un poco de programación Win32 (C/C++) si es necesario.
Respuesta
si desea establecer permanentemente variable de entorno, puede insertar el nuevo valor en el registro. por ejemplo, con VBScript, agregue la ruta "C: \ test" en la variable PATH
Set WshShell = WScript.CreateObject("WScript.Shell")
strReg = "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path"
strSetting = WshShell.RegRead(strReg)
strNewSetting = strSetting&";c\test"
WshShell.RegWrite strReg, strNewSetting
Por lo tanto, si se utiliza Python u otros idiomas, se puede hacer lo mismo usando propia API/módulos de su idioma para leer y escribir registro
utilizar la clase entorno como este:
Environment.SetEnvironmentVariable("foo", "bar");
Olvidé mencionarlo, ¿es solo por la duración del programa o es permanente? – Javier
Solo afectará el entorno del programa actual. Los cambios en todo el sistema están en el registro (ver la respuesta de ghostdog) y requieren que el programa sea relanzado después de realizar el cambio. – Joshua
La modificación de las variables de entorno mediante programación solo se aplica a la duración del programa. No he oído hablar de modificar el medio ambiente en todo el sistema y hacerlo efectivo allí mismo. No creo que se pueda hacer eso, eso requeriría hurgar a un nivel privilegiado y posiblemente jugar con el sistema central para lograr eso.
Incluso bajo Unix, no se puede hacer a pesar de algunos hacks para lograrlo. Recuerdo ver código que realmente modificó las variables de entorno en MSDOS, alterando la estructura de datos del entorno _psp de MSDOS, pero que era un sistema de tarea única y 16 bits sin protección alguna.
En resumen, no creo que pueda hacerlo y no sería prudente hacerlo, podría parecer que el sistema está bajo la amenaza de un 'troyano' o un 'virus' como resultado si intenta para hacerlo, no solo que, como usuario, no me gustaría que un programa modifique la variable de entorno del sistema sin mi consentimiento. Claro, un programa puede escribir en el registro para hacerlo permanente, pero aún me gustaría saber cuál es el propósito y por qué.
Eche un vistazo a [this] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms682653 (v = vs.85) .aspx) para una variable de entorno de conjunto de métodos que se adhiere. -1 para FUD. – ssc
En C# la siguiente crea una variable de entorno permanente:
Environment.SetEnvironmentVariable("foo", "bar", EnvironmentVariableTarget.Machine);
¿Esto se convertirá en permanente? – Javier
Depende del valor de la enumeración de EnvironmentVariableTarget utilizada. Ver http://msdn.microsoft.com/en-us/library/system.environmentvariabletarget.aspx – kicsit
mi ventana de depuración se bloquea cuando agrego en "EnvironmentVariableTarget.Machine" –
o usted podría intentar un script de Windows PowerShell; PowerShell está instalado en Windows 7 de manera predeterminada.
plazo powershell.exe
PS C:\> [Environment]::SetEnvironmentVariable("TestVariable", "Test value.", "User")
Entonces, por ejemplo, de cmd.exe
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\>echo %TestVariable%
Test value.
C:\>
O (en una nueva) PowerShell.exe cheque
PS C:\> echo $ENV:TestVariable
Test Value.
PS C:\>
cabo http://technet.microsoft.com/en-us/library/ff730964.aspx
Esto funciona como se describe, pero un shell de DOS que ya está abierto cuando el env var está configurado no parece captar el cambio, aparentemente, PowerShell no transmite un mensaje 'WM_SETTINGCHANGE' como se describe aquí [http://msdn.microsoft.com/en-us/library/ windows/desktop/ms725497 (v = vs.85) .aspx). Buen comienzo sin embargo. – ssc
F o cualquier otra persona en busca de una respuesta rápida de comandos
SETX está disponible en los servidores Windows (nativa creo - http://technet.microsoft.com/en-us/library/cc755104.aspx)
+1 Más simple que la respuesta anterior y funciona también en win7 ultimate – daitangio
setx.exe no podría ser una herramienta peor para extender 'Path'. Los valores de 'Ruta' del usuario y del sistema nunca deben combinarse, y las variables de porcentaje en un valor 'REG_EXPAND_SZ' no deben expandirse. setx.exe no puede hacer nada de esto. Lo que puede hacer es crear un desastre horrible que no se puede deshacer. – eryksun
no nos culpe por querer usar la línea de comando proporcionada por microsoft: Descripción: Crea o modifica las variables de entorno en el entorno del usuario 0 del sistema . Puede establecer variables basadas en argumentos, regkeys o entradas de archivos . – user1885834
- 1. establecer variables de entorno mediante programación
- 2. mediante programación la creación de variables en Python
- 3. Configuración de variables de entorno en EngineYard
- 4. Detectar el entorno de escritorio en Linux mediante programación en C
- 5. Variables de entorno de Javascript
- 6. Comprobación de variables de entorno
- 7. Determinar AppEngine de entorno Java programación
- 8. ¿Iniciar Scala REPL mediante programación?
- 9. MSBuild requiere variables de entorno
- 10. Deshabilitar mediante programación window.location.reload?
- 11. ¿Consulta mediante programación MSDN?
- 12. Generar propiedades mediante programación
- 13. mediante programación en C#
- 14. Cómo reiniciar mediante programación?
- 15. Editando Web.config mediante programación
- 16. creando uiview mediante programación?
- 17. Agregar PageControl mediante programación
- 18. Programación funcional: Mejor plataforma/Entorno
- 19. ImageBrush de cuadrícula mediante programación
- 20. ¿Hay alguna manera de establecer la ruta del entorno mediante programación en C++ en Windows?
- 21. ¿Cómo establecer una variable de entorno mediante programación en Jenkins/Hudson?
- 22. ¿Agregar ScriptManager a la página mediante programación?
- 23. Configuración de variables de entorno de Gradle
- 24. Entorno de programación de AI Bot
- 25. Linux - variables de entorno de seguridad
- 26. Eliminar ruta de las variables de entorno
- 27. Variables de entorno de referencia en web.xml
- 28. Ajuste/lectura de variables de entorno
- 29. Variables de entorno predefinidas de Delphi
- 30. Configuración de variables de entorno en Mathematica
Simplemente guarde esto como .vbs y ejecútelo. –