Как создать ls в командной строке Windows? - PullRequest
107 голосов
/ 20 февраля 2012

Я хочу использовать ls в командной строке Windows и заставить ее выполнить команду dir.

Как я могу это сделать?

Ответы [ 16 ]

3 голосов
/ 20 февраля 2012

Если вы просто хотите, чтобы cmd распознал ls в качестве псевдонима для dir, вы можете использовать команду doskey (от этот ответ для суперпользователя ).

Это не меняет исходную обработку параметров командной строки команды dir.

2 голосов
/ 19 декабря 2017

Другое решение, которое мне помогло, - это использование UnxUtils , которое добавляет несколько утилит из исполняемых файлов (включая ls, sed и grep).

Для использования: скачать исходный код . Разархивируйте. Добавьте путь UnxUtils\usr\local\wbin к переменной Windows PATH. Запустите новый экземпляр CMD.

1 голос
/ 10 января 2014

Я рекомендую следующий рецепт.

  1. Используйте DOSKEY и $* для создания команды ls.
  2. Сделайте команду постоянной, записав ее в файл .bat / .cmd и добавьте путь к файлу в реестр.

Например, ваша команда может выглядеть как
DOSKEY ls=dir
DOSKEY sublime="C:\Program Files\Sublime Text 2\sublime_text" $*
$* полезно для команд, которые принимают аргументы.Например, здесь я хотел бы иметь возможность сделать sublime my_code.c.

Реестр для cmd находится по адресу HKEY_CURRENT_USER -> Программное обеспечение -> Microsoft -> Командный процессор.Создайте строковую запись с именем AutoRun с полным путем к файлу (не содержащей папки), например %USERPROFILE%\custom_command.cmd.Затем при каждом запуске cmd ваша команда будет загружена!

Вы также можете добавлять больше полезных вещей в пакетный файл.См. здесь для примера шаблона.

0 голосов
/ 30 июня 2017

Вы можете следовать этому руководству: 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..

Извините за форматирование и другие ошибки, я отвечаю здесь впервые. Надеюсь, это поможет!

0 голосов
/ 02 июня 2017

Вот мой C # исходный код и двоичный файл .

Просто добавьте куда-нибудь ls.exe и добавьте путь к переменной окружения пути.

0 голосов
/ 17 декабря 2013

Конечно, ls не будет работать как команда unix для пакетов. Если вы проверите% 1 для -l или -a и т. Д. И всех их комбинаций, это сработает ...

...