Я хочу використати 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
Ви можете вирішити це питання за допомогою однієї простої команди:
echo @dir %* > %systemroot%\system32\ls.bat
Переконайтеся, що ви працюєте cmd.exe
в якості адміністратора першим, якщо ви перебуваєте в режимі перегляду та вище
dir %*
натомість, щоб дозволити передачу будь-якої кількості аргументів командного рядка в dir через ls.bat. В іншому випадку, використовуючи dir %1
, максимум, ви можете використовувати лише один аргумент при використанні скрипту ls.
@dir %*
також видалить зайву лінію, так що вона ще більш ідентичнаdir
@
; вишуканий біт синтаксису, щоб уникнути безладу виводу. Хоча було б набагато простіше, якби Windows відповідала POSIX. Принаймні ми можемо мріяти.
Старе питання, але для запису:
http://gnuwin32.sourceforge.net/packages/coreutils.htm
Дає вам і багато іншого!
ls *
і dir *
не робіть те ж саме, тож псевдонім режисера - трохи штани.
C:\Program Files (x86)\GnuWin32\bin
до свого шляху
Найпростіший спосіб я знайшов:
bin
каталог Git до змінної Path. Шахта знаходилася в с C:\Program Files\Git\usr\bin
.ls
у всій красі.ls
та всього, що це необов'язково, аргументів. Лише невелике оновлення, я встановив останню версію git для Windows, і ls.exe тепер можна знайти в C: \ Program Files \ Git \ usr \ bin
У мене є рішення, але воно брудне:
Створіть файл під назвою ls.bat, що містить лише "dir".
Помістіть його в C: \ windows \ system32 (або будь-який каталог у PATH env var).
Це (повинно) працює!
Редагувати: Щось більш послідовне: /superuser/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).
Командний рядок Windows для Vista / 7 дозволить символічним посиланням NTFS, запустити cmd.exe як адміністратор:
mklink ls %System%\dir.exe
Потім встановіть змінну середовища PATH, щоб вона містила розташування посилання, яке ви тільки що створили.
Якщо ви хочете більше, ніж просто команда 'ls', вам слід заглянути в cygwin .
EDIT - Щойно зрозумів, dir.exe
це не окрема програма, тому це насправді не працює. Але mklink
і цигун - це добре знати, про що.
+1 в публікації вище, пропонуючи встановити git для Windows та додати в каталог змінні вашого змінного маршруту.
Іншим способом я отримав контакт, 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:
Якщо ви просто хочете, щоб розпізнавання cmd ls
було псевдонімом dir
, ви можете скористатися doskey
командою (з цієї відповіді на суперпользователь ).
Це не змінює вихідний параметр управління командним рядком команди dir.
Рекомендую наступний рецепт.
DOSKEY
та $*
для створення свогоls
команди.Наприклад, ваша команда може виглядати як
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, ваша команда завантажується!
Ви також можете додати більше корисних продуктів у пакетний файл. Дивіться тут приклад шаблону.
Іншим рішенням , яке працювало для мене є використання UnxUtils , який додає кілька утиліт з виконуваних файлів ( в тому числі ls
, sed
іgrep
).
Для використання: завантажте вихідний код . Розпакуйте. Додайте UnxUtils\usr\local\wbin
шлях до змінної Windows PATH. Запустіть новий екземпляр CMD.
Напевно, 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 потрібно ввімкнути / встановити спочатку)
Ось мій вихідний код C # та двійковий код .
Просто додайте десь ls.exe і додайте шлях до змінної середовища контуру.