Por que a linha de comando do Windows (cmd.exe) interpreta “cd \” como um comando válido?

1

Na linha de comando padrão do Windows (cmd.exe), é possível usar o comando cd \ para ir para a raiz da unidade atual (cd seguido por uma barra invertida, sem espaço entre elas).

Com o PowerShell, temos a capacidade de definir aliases de string para cmdlets, mas o comando cd \ funciona bem no cmd.exe padrão e, portanto, não é um alias do PowerShell.

Isso é simplesmente um atalho interno para o uso mais padrão do comando cd, onde você especifica o diretório de destino como um parâmetro para o comando em si (com um espaço entre o comando e o parâmetro como esperado)?

    
por Ladranas 03.01.2018 / 00:50

1 resposta

0

With PowerShell, we have the ability to define string aliases for cmdlets, but the command cd\ works just fine from the standard cmd.exe and is therefore not a PowerShell alias.

Só porque é um formulário padrão no CMD, não significa que não seja um alias no PS. Na verdade, quase sempre "comando padrão" no CMD que também funciona no PS é um alias. CD é um alias para set-location .

Use o comando get-alias cd para aprender este e outros truques surpreendentes!

WHY CD\ é um comando válido não é uma pergunta que o SuperUser pode responder.

UPDATE

O CMD não precisa carregar o PS para fazer nada.

Lendo seus comentários Estou tendo a idéia de que a primeira coisa que você precisa reconhecer é que o CD se comportou dessa maneira no CMD muito antes do PS aparecer, então esqueça o PS. Conseguir PS misturado nisso é trazer confusão. Você já se esqueceu do PS? ( A resposta correta aqui é "sim") Bom.

Como Lưu Vĩnh Phúc menciona em seu comentário, as strings de comando podem ser escapadas usando vários métodos e por várias razões. POR QUE eles fazem isso com o analisador de comandos individual, o sistema host, o comando específico, as pessoas ou equipes ou organizações que desenvolveram todos esses e, possivelmente, outros motivos também.

    
por 03.01.2018 / 01:32