
Estoy desarrollando una aplicación en Windows que utiliza DLL
archivos disponibles en la PATH
variable del sistema. Esos DLL
mensajes están en PATH
mi entorno de desarrollo. Sin embargo, la aplicación en sí es portátil y viene con sus propias dependencias. ¿Hay alguna manera de ocultar las variables de entorno de una aplicación/proceso para poder probar la portabilidad de mi código sin tener que modificar las variables globales?
Respuesta1
Cree un archivo bat/cmd y anule PATH y luego inicie su aplicación desde el mismo archivo bat/cmd
@echo off
Path=C:\TestPath
REM test it that is was overridden
echo %Path%
REM Lunch your app below
c:\path\to\your\app.exe
Respuesta2
La respuesta de Alex fue útil. Lo convertí en una función de PowerShell que puedo agregar $profile
para que siempre esté disponible:
function sandbox {
Write-Output "$args"
$tempPATH = $env:PATH
$env:PATH = ""
if ("$args"[0] -eq '"') { iex "& $args" }
else { iex "$args" }
$env:PATH = $tempPATH
}
Entonces, ahora, cada vez que llamo sandbox SOME_COMMAND
, la función se vacía PATH
, ejecuta el comando y restaura la variable nuevamente.