Diferença entre CMD e BAT

CMD vs BAT

CMD e BAT são arquivos usados ​​para automatizar determinadas tarefas repetitivas e usadas com frequência pelo usuário. Criar um arquivo CMD ou BAT é como usar uma linguagem de programação simples com as vantagens da capacidade de usar instruções de linha de comando e executar outros aplicativos com ou sem parâmetros. Os arquivos CMD e BAT são muito semelhantes entre si, com diferenças muito pequenas. BAT é um tipo de arquivo muito antigo que existe desde o advento do DOS. Ele foi transferido pela Microsoft quando desenvolveu o Windows fora do DOS. O tipo de arquivo CMD foi desenvolvido pela Microsoft para ser usado na implementação de scripts de comando do Windows NT, mas também é usado pelas versões mais recentes do Windows, baseadas no Windows NT.

O BAT foi criado para interagir com o COMMAND.COM, o interpretador de comandos do DOS. A Microsoft adotou a maioria dos comandos do DOS em seu novo intérprete chamado CMD. EXE. O CMD foi criado para interagir com o CMD.EXE e quebra a compatibilidade com o COMMAND.COM. Outra diferença importante é como eles lidam com a variável errorlevel. Ao usar o BAT, essa variável é alterada apenas quando ocorre um erro real e nenhuma mudança de estado ocorre quando cada comando é executado com êxito. Isso não é verdade para o CMD, pois a variável errorlevel ainda mudaria de estado, mesmo se nenhum erro ocorrer. Os programadores devem observar isso ao criar scripts elaborados, pois isso pode causar um pouco de confusão..

Além dessas pequenas diferenças, CMD e BAT são idênticos entre si. A maioria dos usuários que cria scripts simples para limpar ou transferir arquivos não deve encontrar nenhum problema. Para os usuários das versões mais recentes do Windows, o BAT e o CMD são praticamente intercambiáveis, pois o CMD.EXE interpretaria e executaria os comandos nos dois arquivos. Embora a maioria dos usuários esteja ciente desse fato, muitas pessoas mais velhas que tiveram a chance de trabalhar com o DOS e seus arquivos em lote ainda usam a extensão BAT; simplesmente por hábito e familiaridade.

Resumo:

1. A extensão BAT é usada pelo DOS e Windows, enquanto a extensão CMD é para scripts de comando do Windows NT

2. A extensão BAT pode ser interpretada por COMMAND.COM e CMD.EXE enquanto a extensão CMD pode ser interpretada apenas por CMD.EXE

3. O nível de erro sempre altera o estado no CMD, mas apenas nos erros no BAT