Я хочу використати 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 і додайте шлях до змінної середовища контуру.