Como outros apontaram, "dir * .exe / s" irá encontrar todos os EXEs na unidade, e supondo que você tenha permissões para fazê-lo, você pode executar todos eles diretamente (contanto que você inclua um caminho absoluto).
E o comando "help" fornece uma listagem dos itens básicos do MS.
Mas supondo que você queira uma resposta real, de a) uma lista de comandos reais que b) você não precisa de caminhos completos para executar e c) inclua tudo em SEU sistema, não apenas as ferramentas da Microsoft, você precisa descobrir programaticamente.
Eu não sei como fazer isso no DOS (ou no CMD), mas posso dar os passos.
- Para cada diretório na sua variável de ambiente PATH ,
- liste todos os arquivos que terminam nas extensões listadas na variável de ambiente PATHEXT .
Quando você digita um comando, PATH é uma lista de locais onde o Windows procura esse comando e PATHEXT é uma lista de extensões de arquivos que serão anexadas a esse comando para corresponder a um arquivo. Ambas são listas separadas por ponto-e-vírgula e ambas são pesquisadas em ordem. Aqui está o meu sistema:
PATH=c:\WINDOWS\system32;c:\WINDOWS;C:\cygwin\usr\local\bin;C:\cygwin\bin;C:\cygwin\bin;c:\Perl\bin\;c:\Python24;c:\Python24\bin;c:\WINDOWS\System32\Wbem;c:\Program Files\Common Files\GTK.0\bin;c:\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
Você provavelmente pode imaginar que eu fiz algumas modificações no meu sistema PATH; o seu provavelmente será menos confuso. (Ou não; o QuickTime e o Java não podem ser os únicos programas que insistem em que eles precisam se adicionar ao meu caminho, então o seu provavelmente tem algumas adições inesperadas também.)
Quando executo, digamos,
C:\> findstr
.. O Windows procura cada entrada na variável PATH por um arquivo chamado "findstr" (sem distinção entre maiúsculas e minúsculas). Ele não encontra esse arquivo na primeira entrada, portanto verifica todas as permutações possíveis, anexando as extensões listadas em PATHEXT ao nome do comando e verificando esse arquivo. Primeiro ele verifica "C: \ WINDOWS \ system32 \ findstr.com", mas não existe tal arquivo. Em seguida, ele verifica "C: \ WINDOWS \ system32 \ findstr.exe" e o encontra, de modo que o programa é executado.
Espero que eu não esteja tentando executar "C: \ WINDOWS \ system32 \ findstr.bat" ou "C: \ bin \ findstr.com" - esses arquivos teriam sido executados se eu tivesse executado um destes:
C:\> findstr.bat
C:\> findstr.com
... mas desde que eu só digitei "findstr", eu tenho a versão .exe.
Então é assim que o Windows executa seus comandos na linha de comando. Se você quiser a lista completa de palavras que você pode digitar e executar, você precisará verificar sua própria variável PATH para onde procurar e sua própria variável PATHEXT para quais extensões procurar.
C:\> set | findstr PATH
PATH=C:\...
PATHEXT=...
(Se alguém quiser entrar em contato com uma linha de comando do DOS sucinta que irá automatizar isso, por favor, avalie!)