Estranhamente, ninguém explicou toda a história, ou seja, o erro.
De fato, %windir% é uma variável e seu conteúdo no sistema é C:\Windows .
Então quando você 'executar' %windir% seu conteúdo é substituído e seu comando é C:\Windows , o qual, como o Windows informa é não reconhecido como um comando interno ou externo, programa operável ou arquivo em lote .
Um experimento divertido seria colocar um executável chamado windows.exe na sua raiz C:\ ; -)