Я хочу использовать ls в командной строке Windows и запустить команду dir.
Как я могу это сделать?
Я хочу использовать ls в командной строке Windows и запустить команду dir.
Как я могу это сделать?
Вы могли:
ls.bat
и содержать только команду dir
ls.bat
, в переменную среды PATH
Затем вы можете выполнить ls
из командной строки.
ls dir
? Я думаю, вам нужно изменить ls.bat
для обработки аргументов ... или вы можете попробовать псевдонимы: superuser.com/questions/49170/create-an-alias-in-windows-xp
- person nicorellius; 30.08.2013
Вы можете решить этот вопрос с помощью одной простой команды:
echo @dir %* > %systemroot%\system32\ls.bat
Не забудьте сначала запустить cmd.exe
от имени администратора, если у вас Vista и выше
echo dir %1 /B > %systemroot%\system32\ll.bat
для простого списка, потому что я использую ll
чаще, чем ls
.
- person alexvetter; 25.02.2014
dir %*
, чтобы разрешить передачу любого количества аргументов командной строки в dir через ls.bat. В противном случае, используя dir %1
, вы можете использовать не более одного аргумента при использовании сценария ls.
- person Adaline Simonian; 03.05.2015
@dir %*
также удалит лишнюю строку, поэтому она еще более идентична dir
- person Captain Man; 22.05.2015
@
; отличный синтаксис, чтобы избежать беспорядка в выводе. Хотя было бы намного проще, если бы Windows была совместима с POSIX. По крайней мере, мы можем мечтать.
- person Adaline Simonian; 22.05.2015
Это старый вопрос, но для протокола:
http://gnuwin32.sourceforge.net/packages/coreutils.htm
Дает вам ls и многое другое!
ls *
и dir *
не делают одно и то же, так что aliasing dir немного неудобен.
- person Pete Kirkham; 13.05.2013
C:\Program Files (x86)\GnuWin32\bin
к своему пути
- person omikes; 10.04.2018
Самый простой способ, который я нашел:
bin
Git в свою переменную Path. Шахта находилась в C:\Program Files\Git\usr\bin
.ls
во всей красе.ls
и всех его необязательных аргументов. Небольшое обновление, я установил последнюю версию git для Windows, и теперь ls.exe можно найти в C: \ Program Files \ Git \ usr \ bin
- person phil; 24.11.2016
У меня есть решение, но оно грязное:
Создайте файл с именем ls.bat, содержащий только «каталог».
Поместите его в C: \ windows \ system32 (или в любой каталог в PATH env var).
Это (должно) работает!
Изменить: что-то более последовательное: https://superuser.com/questions/49170/create-an-alias-in-windows-xp
Если в вашей системе установлен Node.js, вы можете установить его с Cash, библиотека, которую я написал для команд Linux в Windows:
npm install cash-ls -g
npm install cash-global -g
. Было бы здорово добавить ls -l
как ll
(LL).
- person user2925656; 14.03.2017
Командная строка Windows для Vista / 7 разрешает символические ссылки NTFS, запустите cmd.exe от имени администратора, затем:
mklink ls %System%\dir.exe
Затем настройте переменную среды PATH, чтобы указать местоположение только что созданной ссылки.
Если вам нужна не только команда 'ls', вам следует изучить cygwin.
РЕДАКТИРОВАТЬ. Я только что понял, что dir.exe
не является отдельной программой, поэтому на самом деле это не работает. Но о mklink
и cygwin следует знать.
Если вы просто хотите, чтобы cmd распознавал ls
как псевдоним для dir
, вы можете использовать команду doskey
(из этого ответа на суперпользователе).
Это не меняет исходную обработку параметров командной строки команды dir.
+1 в сообщении выше, предлагая установить git для Windows и добавить каталог bin в переменные пути.
Другим способом я получил touch, ls и множество других команд UNIX, работающих в cmd.exe на моих машинах с Windows 8 и Windows 7.
Перейдите на следующий сайт, чтобы установить Cygwin
https://www.cygwin.com/install.html
Установите 32- или 64-битную версию для вашей системы. Настройки и пакеты по умолчанию должны включать то, что вам нужно, поэтому вам не нужно ничего менять, когда вы перейдете на экран пакетов.
После установки скопируйте путь к папке Cygwin в переменные пути вашей среды. Например; если вы установили cygwin в C: \ Cygwin, вы добавите следующее в переменные системного пути вашей среды:
; C: \ Cygwin \ bin
В моей системе я установил 64-битную версию, а имя и путь к папке по умолчанию были C: \ cygwin64. Поэтому я добавил следующие переменные пути к моей системной среде:
; C: \ cygwin64 \ bin
Перезагрузите терминал, если он открыт. Затем введите ls, и вы увидите список каталогов.
См. Следующее, если вы не знакомы с настройкой переменных среды PATH:
вы также можете использовать cygwin и просто использовать команду ls напрямую вместе со всеми другими инструментами командной строки unix, которые могут вам понадобиться использовал к.
Рекомендую следующий рецепт.
DOSKEY
и $*
для создания вашей ls
команды.Например, ваша команда может выглядеть как DOSKEY ls=dir
DOSKEY sublime="C:\Program Files\Sublime Text 2\sublime_text" $*
$*
полезна для команд, которые принимают аргументы. Например, здесь мне нравится делать sublime my_code.c
.
Реестр для cmd находится по адресу HKEY_CURRENT_USER -> Software -> Microsoft -> Command Processor. Создайте запись со строковым значением с именем AutoRun с полным путем к файлу (не содержащей папку), например %USERPROFILE%\custom_command.cmd
. Тогда каждый раз, когда запускается cmd, ваша команда будет загружаться!
Вы также можете добавить больше полезных вещей в командный файл. Пример шаблона см. здесь.
мой ls.bat был ниже
@dir %*
который может передавать cli args
ls /b
ls /w
поместите его в% windir% или в любой каталог в вашей переменной% PATH%.
Только убедитесь, что вы сохранили файл в кодировке ANSI :)
Другое решение, которое сработало для меня, - использовать UnxUtils, который добавляет несколько утилит из исполняемых файлов (включая ls
, sed
, и grep
).
Для использования: загрузите исходный код. Разархивировать. Добавьте путь UnxUtils\usr\local\wbin
к переменной Windows PATH. Запустите новый экземпляр CMD.
C:\Program Files\Git\usr\bin
в переменную путитеперь вы можете использовать ls
Конечно, ls не будет работать как команда unix для пакетов. Если вы отметите% 1 для -l или -a и т. Д. И все их комбинации, это сработает ...
Вы можете следовать этому руководству: https://gist.github.com/vladikoff/38307908088d58af206b
TL; DR: передайте /K path/to/custom/init_cmd.bat
команде "запуск оболочки".
Я использую ConsoleZ в качестве оболочки для оболочки, поэтому в моем случае я могу найти параметр настройки в «вкладках», а затем установить путь оболочки к "C:\Windows\System32\cmd.exe "/K C:\cmd_init.bat""
вот так.
Где C:\cmd_init.bat
- пакетный сценарий, содержащий мои макросы, вот что я бы сделал:
@echo off
doskey ls=dir /b
rem other macro stuff..
Извините за форматирование и другие ошибки, я отвечаю здесь впервые. Я надеюсь, что это помогает!
Кто-то, кто использует подсистему Linux для Windows, может вызвать ls
из Linux bash. Следующая команда создает команду ls
в System32:
echo @bash -c "ls %*" > %systemroot%\system32\ls.bat
(Сначала должна быть включена / установлена функция подсистемы Linux)
Создайте псевдоним в файле .bat или .cmd, используя ключ doskey
:
@echo off
title "ls command cmd bar"
doskey ls=echo off $T dir $* $T echo on
Наслаждайтесь =)
Вот мой исходный код C # и двоичный код.
Просто добавьте куда-нибудь ls.exe и добавьте путь к переменной окружения path.