Почему командная строка Windows (cmd.exe) интерпретирует «cd\" как допустимую команду?

Почему командная строка Windows (cmd.exe) интерпретирует «cd\" как допустимую команду?

В стандартной командной строке Windows (cmd.exe) можно использовать команду cd\ для перехода в корень текущего диска (cd с последующей обратной косой чертой, без пробела).

С помощью PowerShell у нас есть возможность определять псевдонимы строк для командлетов, но команда cd\ прекрасно работает из стандартного cmd.exe и, следовательно, не является псевдонимом PowerShell.

Это просто встроенный ярлык для более стандартного использования команды cd, где вы указываете целевой каталог в качестве параметра самой команды (с пробелом между командой и параметром, как и ожидалось)?

решение1

С помощью PowerShell у нас есть возможность определять псевдонимы строк для командлетов, но команда cd\ прекрасно работает из стандартного cmd.exe и, следовательно, не является псевдонимом PowerShell.

То, что это стандартная форма в CMD, не означает, что это не псевдоним в PS. Фактически, почти каждая "стандартная команда" в CMD, которая также работает в PS, является псевдонимом. CD является псевдонимом для set-location.

Используйте команду get-alias cd, чтобы научиться этому и другим поразительным трюкам!

ПОЧЕМУ CD\является ли команда допустимой — это вопрос, на который СуперПользователь не может ответить.

ОБНОВЛЯТЬ

CMD не нужно загружать PS, чтобы что-то сделать.

Читая ваши комментарии, я начинаю понимать, что первое, что вам нужно признать, это то, что CD\ вел себя таким образом в CMD задолго до появления PS, так что забудьте PS. Вмешивать PS в это — значит вносить путаницу. Вы еще не забыли PS? (Правильный ответ здесь — «да»).Хороший.

Как упоминает в своем комментарии Лу Винь Фук, строки команд можно экранировать разными способами и по разным причинам.ПОЧЕМУони делают это на усмотрение отдельного синтаксического анализатора команд, хост-системы, конкретной команды, людей, групп или организаций, которые все это разработали, а также, возможно, по другим причинам.

Связанный контент