Quais comandos internos do cmd.exe limpam ERRORLEVEL para 0 em caso de êxito?

Um método frequente para lidar com erros nos scripts em lote do Windows é usar coisas como
if errorlevel 1 ... ouif %errorlevel% neq 0 .... Muitas vezes, deseja-se que o código de tratamento de erros preserve o ERRORLEVEL.

Acredito que todos os comandos externos sempre resultarão em ERRORLEVEL sendo definido com algum valor; portanto, o código de tratamento de erros deve preservar o ERRORLEVEL em uma variável de ambiente antes de executar um comando externo.

Mas e os comandos internos? O problema é que alguns comandos internos limpam ERRORLEVEL para 0 quando são bem-sucedidos e outros não. E não consigo encontrar nenhuma documentação especificando quais comandos fazem o quê.

Então a questão é:quais comandos internos limpam o ERRORLEVEL para 0 após o sucesso? Isto énão uma pergunta geral sobre códigos ERRORLEVEL retornados, mas estritamente sobre resultados de sucesso.

Existem posts comoQual é a maneira mais fácil de zerar ERRORLEVEL? eArquivos em lote do Windows: .bat vs .cmd? que dão respostas parciais. Mas nunca vi uma lista abrangente.

Nota: Eu tenho curiosidade sobre isso há anos. Então, finalmente decidi fazer um monte de experimentos e criar uma resposta definitiva. Estou postando estas perguntas e respostas para compartilhar o que encontrei.

questionAnswers(2)

yourAnswerToTheQuestion