2009-06-03 11 views
9

questo è legato alla this domanda: How to get coloured file listing in windows cmd shell ?Come caricare i codici di escape ANSI o ottenere un elenco di file colorati nella shell cmd WinXP?

Sto cercando di ottenere, non ci credereste, elenco di file colorato nella shell di Windows cmd. Windows è XP SP2, se questo è importante.
Nei vecchi giorni del DOS c'erano un po 'di programmi come hdir, adir e simili che mostravano quel bello. Al giorno d'oggi, tali programmi non sono più.

C'è tuttavia, ls, da unixkit-tiny o unixtools. Sfortunatamente, utilizza i codici di escape ANSI per la visualizzazione dei colori, e cmd non li gestisce troppo bene.

Esistono diverse soluzioni che includono il caricamento di ansi.sys e command.com, ma command.com non gestisce bene i nomi di file lunghi ed è terribilmente lento. Anche allora a volte ha problemi a visualizzare i colori.

Quindi, cosa sto chiedendo, c'è un modo per ottenere l'elenco dei file colorati nella shell di Windows CMD, oltre all'uso di cygwin? O c'è un modo per ottenere i codici di escape ANSI per lavorare con cmd.exe in modo tale che il ls ls giocherà bene?

risposta

13

mi sono imbattuto in ANSICON a http://adoxa.110mb.com/ansicon/index.html ansicon github repo

Usandolo per colorare Uscita NAnt. ls --color viene elaborato correttamente.

Il codice sorgente è fornito, ma non l'ho esaminato.

+0

E il premio + A merita meritatamente ... :) – Rook

+0

Questo funziona abbastanza bene - provato con 'wirble' per Ruby 'irb': http://www.rubyinside.com/wirble-tab-completion- e-sintassi-colorante-per-irb-336.html # risponde – monojohnny

+0

Brillante! Grazie per il consiglio. – Chris

1

È possibile avviare il server Telnet integrato, firewall per consentire solo l'accesso a localhost e utilizzare un client telnet che comprenda tali fughe, anche quella nativa. (Lo so, un brutto hack.)

2

In realtà mi sa A + per ansicon - Uso

  • ansicon.exe -I

lo installa come filtro sulle sessioni di cmd.exe. Funziona a meraviglia con HTTY (rubino gemma).

:-)