Вы уверены, что не можете просто запустить cl.exe без ввода данных, чтобы сообщить о своей версии?
Я только что протестировал запуск cl.exe в командной строке для VS 2008, 2005 и .NET 2003, и все они сообщили о его версии.
за 2008 г .:
d: \ Program Files \ Microsoft Visual Studio 9.0 \ VC> cl
32-разрядный оптимизирующий компилятор C / C ++ Microsoft (R) версии 15.00.30729.01 для 80x86
Для 2005 года, SP 1 (добавлены классы Safe Standard C ++):
C: \ Program Files \ Microsoft Visual Studio 8 \ VC> cl
32-разрядный оптимизирующий компилятор C / C ++ Microsoft (R) версии 14.00.50727.762 для 80x86
за 2005 г .:
C: \ Program Files \ Microsoft Visual Studio 8 \ VC> cl
Microsoft (R) 32-разрядный оптимизирующий компилятор C / C ++ версии 14.00.50727.42 для 80x86
Для .NET 2003:
Microsoft (R) 32-битный оптимизирующий компилятор C / C ++ версии 13.10.6030 для 80x86
EDIT
В 2010 году оно будет соответствовать:
Microsoft (R) 32-разрядный оптимизирующий компилятор C / C ++ версии 16.XX.YYYYY.ZZ для 80x86
или в зависимости от целевой платформы
Microsoft (R) C / C ++ Оптимизирующая версия компилятора 16.XX.YYYYY.ZZ для x64
На 2012 год:
Microsoft (R) C / C ++ Оптимизирующая версия компилятора 17.XX.YYYYY.ZZ для $$$
где $$$ - целевая платформа (например, x86, x64, ARM), а XX, YYYYY и ZZ - второстепенные номера версий.
на 2013 год:
Microsoft (R) C / C ++ Оптимизирующая версия компилятора 18.XX.YYYYY.ZZ для $$$
где $$$ - целевая платформа (например, x86, x64, ARM), а XX, YYYYY и ZZ - второстепенные номера версий.
на 2015 год:
Microsoft (R) C / C ++ Оптимизирующая версия компилятора 19.XX.YYYYY для $$$
где $$$ - целевая платформа (например, x86, x64, ARM), а XX и YYYYY - второстепенные номера версий.