A documentação da Microsoft diz que uma variável de ambiente no Windows é limitada apenas a 32.767 caracteres ( link ). Não diz como criar uma variável muito longa.
O problema aqui é que as ferramentas que o Windows fornece, todas têm limites:
definir comando e a comando setx truncar valores para 1023 caracteres.
Pode-se definir variáveis de ambiente diretamente no registro em %código%, mas usando regedit para que irá falhar porque entrou seqüências através do teclado estão limitados a 2047 caracteres.
Tanto quanto eu posso ver, a única opção restante é escrever um pequeno programa que atualiza diretamente o registro. A função da API do Windows a ser usada é SetEnvironmentVariable , cuja documentação diz:
The maximum size of a user-defined environment variable is 32,767 characters.
Espera-se que isso, pelo menos, esteja correto. Você pode correr aqui até o comprimento de linha máximo que é aceito pelo compilador, mas em um programa você é capaz de construir uma cadeia tão longa em etapas.