Как изменить значение по умолчанию --color для "ls" в Windows?

3400
aviraldg

Я использую ls (от Msys) в Windows. По умолчанию ls не кодирует каталоги и архивы с цветным кодом, но это то, что я хочу. Я устал набирать "ls -C" и "ls --color". Есть ли какой-нибудь способ кроме установки скрипта bash, который позволит мне сделать это. (Помните, я на Windows)

4
Это может иметь какое-то отношение http://stackoverflow.com/questions/946546/how-to-load-ansi-escape-codes-or-get-coloured-file-listing-in-winxp-cmd-shell Rook 14 лет назад 0

2 ответа на вопрос

6
Phoshi
doskey ls=ls --color $* 

DOSKY встроен, даже!

У меня есть загрузочный файл .bat, который действует как своего рода a .bashrc, и я добавляю туда все мои псевдонимы, а также имею небольшой скрипт на Python для более легкого управления ими. cmd действительно очень терпим с несколькими дополнительными инструментами (Cygwin проходит долгий путь, просто добавьте его \binв PATH)


Чтобы автоматически применять псевдонимы к каждому новому экземпляру cmd, создайте .batфайл, например, %USERPROFILE%\aliases.batс этим содержимым:

@ECHO OFF doskey ls=ls --color $* 

Затем, используя regedit, найдите HKEY_CURRENT_USER\Software\Microsoft\Command Processor\ и добавьте String Valueименованное Autorunзначение со значением данных, установленным в:%USERPROFILE%\aliases.bat

Хм ... как мне заставить это работать постоянно со всеми экземплярами cmd.exe? aviraldg 14 лет назад 0
Вот для чего нужен файл .config. HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor \ Autorun (сделайте это, если он не существует), и укажите на .bat. Это означает, что вы можете очень легко настроить ЛЮБУЮ переменную, не внося никаких изменений, которые не очень легко изменить. Обязательно добавьте @ECHO OFF, чтобы он не сообщал вам, что вы делаете, каждый раз, когда вы запускаете приглашение :) Phoshi 14 лет назад 2
Ну, он делает то, что должен, но он ** молча отбирает все остальные аргументы для ls ** aviraldg 14 лет назад 1
Вот почему я использую скрипт на Python. Добавьте $ * (означает «все аргументы», например,% * в командном файле), и извините, что пропустил его! Phoshi 14 лет назад 0
1
Mike

Вместо того, чтобы печатать ls --color, вы можете определить псевдоним bash:

alias ls='ls --color' 

Это будет производить ls --colorкаждый раз, когда вы пишете ls.

Говорит, что псевдоним не распознается как внутренняя или внешняя команда, остальное вы знаете. Qwerty 7 лет назад 0