¿Existe alguna manera de aislar una aplicación de las variables de entorno para probar el código?

¿Existe alguna manera de aislar una aplicación de las variables de entorno para probar el código?

Estoy desarrollando una aplicación en Windows que utiliza DLLarchivos disponibles en la PATHvariable del sistema. Esos DLLmensajes están en PATHmi 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 $profilepara 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.

información relacionada