Wie kann man die Standardeinstellung von --color für "ls" unter Windows ändern?

3447
aviraldg

Ich verwende ls (von Msys) unter Windows. Standardmäßig färbt ls Verzeichnisse und Archive nicht farbcodiert, aber das ist etwas, was ich will. Ich bin müde, "ls -C" und "ls --color" einzugeben. Gibt es irgendeinen anderen Weg, als ein bash-Skript einzurichten, das mir dies erlaubt? (Denken Sie daran, ich bin unter Windows)

4
Dies kann von Bedeutung sein http://stackoverflow.com/questions/946546/how-to-load-ansi-escape-codes-or-get-coloured-file-listing-in-winxp-cmd-shell Rook vor 14 Jahren 0

2 Antworten auf die Frage

6
Phoshi
doskey ls=ls --color $* 

doskey ist sogar eingebaut!

Ich habe eine .bat-Startdatei, die als eine Art von a fungiert .bashrc, und alle meine Aliasnamen dort einschleusen sowie ein kleines Python-Skript, um sie einfacher zu verwalten. cmd ist wirklich sehr gut mit ein paar zusätzlichen Tools zu ertragen (Cygwin geht einen langen Weg, fügen \binSie es einfach zu Ihrem PFAD hinzu)


Um Aliasnamen automatisch mit jeder neuen Instanz von anzuwenden cmd, erstellen Sie eine .batDatei, z. B. %USERPROFILE%\aliases.batmit folgendem Inhalt:

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

Suchen Sie dann mit regedit, HKEY_CURRENT_USER\Software\Microsoft\Command Processor\ und fügen Sie einen String ValueNamen Autorunmit dem Value-Datensatz hinzu:%USERPROFILE%\aliases.bat

Um ... wie kann ich das dauerhaft mit allen Instanzen von cmd.exe arbeiten? aviraldg vor 14 Jahren 0
Dafür gibt es die .config-Datei. HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor \ Autorun (machen Sie es, falls es nicht existiert) und zeigen Sie auf eine .bat. Das heißt, Sie können ANY-Variablen sehr einfach konfigurieren, ohne Änderungen vorzunehmen, die nicht ganz einfach rückgängig gemacht werden können. Stellen Sie sicher, dass Sie ein @ECHO OFF hinzufügen, damit Sie nicht jedes Mal wissen, was Sie tun, wenn Sie eine Eingabeaufforderung starten :) Phoshi vor 14 Jahren 2
Nun, es tut, was es soll, aber ** hackt leise alle anderen Argumente ab. aviraldg vor 14 Jahren 1
aaaund deshalb verwende ich ein Python-Skript. Fügen Sie ein $ * an (bedeutet "alle Argumente", wie% * in einer Batchdatei), und entschuldigen Sie, dass Sie es verpasst haben! Phoshi vor 14 Jahren 0
1
Mike

Anstatt zu tippen ls --color, können Sie einen Bash-Alias ​​definieren:

alias ls='ls --color' 

Dies würde ls --colorjedes Mal produzieren, wenn Sie schreiben ls.

Sagt, * Alias ​​wird nicht als interner oder externer Befehl erkannt, .. * den Rest kennen Sie. Qwerty vor 7 Jahren 0