У меня Cygwin установлен где-то на пути. Так что я

>where dir
D:\Users\Dims\Design\Cygwin64\bin\dir.exe

Когда я запускаю DIR из CMD я получаю обычный DIR Windows:

>dir /?
Displays a list of files and subdirectories in a directory.

DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
  [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

...

Но если я запускаю его из-под FAR , он берет DIR от Cygwin:

>dir /?
/usr/bin/dir: cannot access /?: No such file or directory

Таким образом, FAR каким-то образом игнорирует приоритет встроенных команд Windows. Можно ли его снова включить?

1 ответ1

1

dir - это внутренняя команда cmd.exe, поэтому вы не можете запускать ее в других оболочках, включая Windows PowerShell. Там нет отдельного dir.exe

C:\>where dir
INFO: Could not find files for the given pattern(s).

Нет такой вещи, как "Windows dir" или "встроенные команды Windows". В PowerShell dir и ls являются псевдонимами Get-ChildItem , так что вы получите такой вывод вместо вывода команды dir CMD в

PS C:\> dir


    Directory: C:\


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-r---        3/28/2017  10:13 AM                Program Files
d-r---        3/28/2017  10:13 AM                Program Files (x86)
d-r---         1/3/2017   3:04 PM                User
d-----         4/5/2017  11:14 AM                Windows
               4/5/2017   2:55 PM           8192 ntuser.dat
-a----         4/7/2017   9:45 AM            152 useragent.log

Самый близкий (и единственный способ), который вы могли бы получить, это вызвать сам cmd

cmd /c dir

или cmd /k dir если вы хотите, чтобы оболочка cmd осталась.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .