Estranho, não consigo reproduzir isso na minha máquina (Windows Vista 64 bits SP 1). Minha saída é
C:\Program Files
C:\Program Files (x86)
Tem certeza de que não inseriu aspas na sua declaração echo?
Usando este script em lote de teste simples:
@echo off
echo %ProgramFiles%
echo %ProgramFiles(x86)%
é minha saída:
"C:\Program Files"
C:\Program Files (x86)
Uma variável é colocada entre aspas enquanto a outra não é? Isso é um bug de algum tipo, ou um simples descuido em meu nome?
Em W2k8 x64, obtenho:
c:\temp>echo %ProgramFiles% & echo %ProgramFiles(x86)%
C:\Program Files
C:\Program Files (x86)
Se você digitar "set", poderá ver quais são as variáveis de ambiente. Eu recebo:
c:\temp>set
...
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
...