En
este artículo se muestra cómo afectar el valor de una variable de entorno a nivel global del sistema operativo. Creo que tu aplicación podría hacer algo como la función
SetSystemEnvironmentVariable que ahí aparece. Usar la nativa
SetEnvironmentVariable sería inútil porque ésta trabaja nada más a nivel del programa.
En el programa Delphi sería:
Código Delphi
[-]SetSystemEnvironmentVariable ('CDROM', 'D:');
Y para usar la variable dentro del .bat, la expresión para obtener su valor sería
%CDROM% (ejemplo:
Echo %CDROM%).
Si tuviera un poco más de tiempo haría una prueba completa. Inténtalo y nos dices cómo te resultó.
Saludos.
Al González.