Как запустить команду dir по умолчанию в файловом менеджере FAR?
У меня Cygwin установлен где-то на пути. Так что я
>where dir
D:\Users\Dims\Design\Cygwin64\bin\dir.exe
Когда я бегу DIR
от CMD
У меня нормальная винда DIR
:
>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 ответ
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
так что вы получите вывод, как это вместо CMD dir
вывод команды
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 осталась.
В unix вы можете поставить пробел перед командой, чтобы игнорировать любой установленный псевдоним этой команды. Если такая вещь существует в командной строке Windows, я не знаю, что это такое. Я думаю, ты действительно спрашиваешь об этом.
Ближайшее решение, которое я могу найти, - это использовать
&
разделитель команд. Например,
ECHO & DIR
будет работать нормально
DIR
команда, но она напечатает
ECHO is ON.
первый. Я не могу вспомнить ни одной команды DOS, у которой нет вывода.
Но если вы столкнулись с этой проблемой, возможно, у вас
test.exe
в каталоге cygwin/msys/git bash bin, который не имеет вывода, поэтому вы можете обойти его с помощью
test & dir
.
Или, конечно, вы можете создать пустой командный файл, чтобы поместить его в левую часть
&
разделитель.
Изменить: на самом деле я играл и
DIR & ;
работает и не требует никаких внешних команд.
Изменить 2: команда в скобках
(DIR)
работает. Может быть, это самый короткий путь.