Não há bons motivos para fazer isso. Na verdade, o único efeito real que acontece é atrasar as coisas.
As pessoas podem achar que há uma boa razão para isso. O uso do CMD tem os seguintes efeitos, que geralmente podem ser bons em alguns casos:
- Ativa comandos internos, como "
DIR
" - Define variáveis de ambiente, como a variável PATH
No entanto, neste caso, nenhum desses benefícios é ganho. Vamos ver os dois cenários:
Portanto, pode haver, em alguns casos, um momento em que usar " CMD /C
" é útil. Por exemplo, se eu usar o comando externo PSEXEC
(baixado do SysInternals) e tentar executar " DIR
" em um computador remoto, o Windows tentará executar o comando " DIR
". O Windows não executará esse comando, pois não há nenhum arquivo " DIR.EXE
", " DIR.BAT
" ou " DIR
" terminando com outra extensão suportada. (Extensões suportadas podem ser vistas executando " ECHO %PATHEXT%
".)
No entanto, nesse cenário, se eu tentar executar " CMD /C DIR
", isso funcionará, porque o Windows procurará um executável chamado " CMD
" e encontrará isso e, em seguida, CMD
. acabe executando com êxito o comando " DIR
" que é uma parte interna do comando " CMD
".
Nesse caso, você pode executar apenas powershell
tão facilmente quanto " CMD /C powershell
", para não obter benefícios do desnecessário " CMD /C
". O único benefício que estou vendo ao passar pela etapa extra de digitar " CMD /C
" é fornecer um exemplo que será útil se alguém decidir tentar modificar um exemplo para executar uma linha de comando " DIR
" ou "% código%". Ter um exemplo mais flexível pode ser útil para algumas pessoas. Não é realmente necessário quando as pessoas sabem o que estão fazendo.
Quanto ao segundo ponto fornecido, que é definir variáveis de ambiente, também é algo que você não está fazendo ativamente neste caso específico. Talvez algumas pessoas pensem que estão ajudando, fazendo com que a variável de ambiente PATH seja definida. No entanto, quando você executa comandos diretamente (por exemplo, na opção de menu "Executar" do menu Iniciar), o sistema operacional Windows pode procurar comandos em alguns locais adicionais. Por exemplo, no Windows XP / mais recente, você pode executar:
COPY
Se o comando que você deseja executar estiver listado em "Caminhos do Aplicativo", o Windows poderá encontrar o programa mesmo que não esteja no caminho. Portanto, é provável que o Windows encontre ainda MAIS do que o que o CMD encontraria no PATH usado pelo CMD.
Um possível benefício é se você quiser que o CMD seja executado para que você possa se referir a uma variável de ambiente como% USERPROFILE% ou% LOGONSERVER% ou% TEMP% /% TMP%, mas como você não está fazendo isso, não precisa executar " reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths"
".
Então, para o seu caso em particular: Não há uma boa razão para isso. Os efeitos que você está obtendo são fazer com que seu computador trabalhe mais, diminuindo o processo e usando mais memória (tudo o que você está fazendo em quantidades insignificantes em equipamentos modernos).