Personalizzare CMD, il prompt dei comandi di Windows
Introduzione
Molti di voi avranno visto probabilmente nella loro esperienza di utenti PC almeno una volta un prompt dei comandi, sia esso quello proposto dai vecchi sistemi operativi DOS o dalle più moderne shell testuali degli ambienti Linux. Le recenti versioni di Microsoft Windows, tra cui Windows XP e Windows 2000, includono anch'esse un interprete di righe di comandi ( in inglese Command Line Interpreter o anche, abbreviato, CLI ) chiamato CMD, erede del vecchio command.com presente nei sistemi operativi DOS e Windows 95/98/ME. Nonostante le interfacce grafiche la facciano oggi da padrone, per lo meno nell'ambito desktop dell'utilizzo dei personal computer, l'uso degli interpreti di comandi è ancora molto frequente e spesso e volentieri semplifica e velocizza l'esecuzione di operazioni ripetitive mentre altre volte risulta indispensabile per accedere ad alcune particolari funzioni fornite dal sistema operativo. In questo articolo vedremo alcuni piccoli trucchi per migliorare la nostra esperienza con CMD, sia dal lato estetico che funzionale. L'articolo è principalmente orientato verso Windows XP ma è probabile che la maggior parte dei suggerimenti sia “portabile” anche su Windows 2000 e 2003.
Alias, macro e Doskey
Una delle funzioni che aiutano a migliorare la produttività quando si usano interfacce a riga di comando come CMD è sicuramente l'utilizzo degli alias. Un alias è semplicemente un altro modo di chiamare un comando mentre una macro è un modo per richiamare con un singolo comando una serie di più comandi. Attraverso gli alias possiamo facilmente creare dei comandi personalizzati per soddisfare le nostre esigenze combinando i comandi già disponibili. Chi ha già utilizzato una shell Linux sarà probabilmente incappato nel comando alias che serve a questo scopo; in CMD il comando è meno immediato ed è doskey. Vediamo come possiamo utilizzarlo.
Per esempio per coloro che hanno sempre usato o continuano ad usare Linux e la sua shell spesso è difficile ambientarsi a CMD e ai suoi comandi per cui potrebbe far comodo creare degli alias che li ricreino. Guardate la schermata seguente:
Abbiamo usanto il comando doskey per creare degli alias di alcuni comuni comandi delle shell Linux. Per esempio con:
doskey cat=type $*
abbiamo definito una nuova macro dal nome cat che simula appunto il comando cat di Linux per visualizzare i file di testo sul terminale. Abbiamo infatti associato alla stringa cat il comando type che in CMD ne è appunto l'equivalente. L'uso del simbolo $* serve per indicare che, quando lanciamo la macro cat, il testo che si trova di seguito venga utilizzato come parametro del comando type. Facciamo un esempio per chiarire questo aspetto. Se noi dopo aver creato la macro cat digitiamo:
cat c:\testo.txt
sarà come aver scritto
type c:\testo.txt
in quanto la parte successiva alla stringa cat viene posta successivamente al comando type. Lo stesso principio è applicato per la macro
doskey ls=dir $*
dove abbiamo creato un alias per il comando dir di CMD mentre non è di interesse nel caso di
doskey clear=cls
in quanto il comando cls non ha bisogno di parametri.
Ma possiamo usare le macro anche per esempio per creare delle scorciatoie ad alcuni comandi di Windows. Un esempio che utilizzo io stesso è:
doskey ex=explorer $*
utile se dalla shell dovete spesso richiamare l'Explorer di Windows.
Ok, ora abbiamo creato tante belle macro ( o alias se preferite ) ma purtroppo sono valide solo per l'istanza corrende di CMD nella quale le avete create. Se per esempio chiudete la finestra di CMD e la riavviate troverete che tutte le macro create saranno scomparse. Uff, come possiamo allora facilitarci il compito senza dover ogni volta reinserire tutti i comandi?
Fortunatamente il comando doskey è in grado di leggere il contenuto di file di testo correttamente formattati per creare delle macro. Vediamo un esempio di un file di testo che contenga tutte le macro che abbiamo definito prima. Aprite il blocco note di Windows ed inserite le seguenti righe
ls=dir $*
cat=type $*
ex=explorer $*
clear=cls
e salvate il file con il nome macros.txt nella cartella che preferite ( il nome potrebbe anche essere diverso! ).
A questo punto per caricare in una sola volta tutte le macro create potete richiamarle con il comando
doskey /macrofile=c:\windows\macros.txt
se per esempio il file si trova nella cartella C:\Windows.
Personalizzare la finestra: grandezza, testo e colori
In CMD è possibile modificare il colore di sfondo e del testo nella finestra come anche la grandezza del testo e della finestra stessa. Per modificare i colori esiste il comando color da usare seguito da due cifre esadecimali, la prima per indicare il colore dello sfondo mentre la seconda per il testo. Di seguito indichiamo la corrispondenza tra i colori e le cifre:
0 = Nero 8 = Grigio 1 = Blu scuro 9 = Blu 2 = Verde A = Verde limone 3 = Verde acqua B = Azzurro 4 = Bordeaux C = Rosso 5 = Viola D = Fucsia 6 = Verde oliva E = Giallo 7 = Grigio chiaro F = Bianco
Quindi per esempio se vogliamo lo sfondo grigio e il testo nero possiamo scrivere:
color 80
Anche l'uso del comando color purtroppo vale solo per l'istanza corrente di CMD e ogni modifica viene persa al successivo riavvio del programma. Fortunatamente per le modifiche relative ai colori e alla grandezza del testo è possibile ricorrere all'interfaccia grafica e salvare le impostazioni una volta per tutte. Vediamo come fare.
Lanciate CMD e cliccate con il tasto sinistro del mouse sull'icona in alto a sinistra sulla barra del titolo e successivamente su Predefinite.
Comparirà una finestra con quattro schede selezionabili. Nella prima, Opzioni, potrete impostare la grandezza del cursore ( quel carattere lampeggiante in corrispondeza del nuovo testo da inserire ), potete scegliere se visualizzare CMD a schermo intero oppure in finestra, potete modificare la grandezza del buffer dei comandi ( ovvero quanti comandi vengono tenuti in memoria per essere poi richiamati velocemente con le freccie Su e Giù della tastiera ) e infine attivare o meno la Modalità di modifica rapida. Quest'ultima, anche se non è ben chiaro dal nome, permette di utilizzare il mouse per effettuare le classiche operazioni di selezione, copia e incolla senza dover passare per il menù Modifica e quindi permettendo una maggior velocità d'esecuzione della procedura. Attivandola potrete selezionare il testo come in qualsiasi editor di testo e copiare la selezione nella memoria con il click del tasto destro. Per incollare all'interno di CMD il testo copiato ( anche da un'altra fonte ) sarà sufficiente ancora un click con il tasto destro del mouse nella posizione desiderata.
Nella scheda Tipo di carattere possiamo invece selezionare il font da utilizzare ( purtroppo ci sono solo due scelte possibili ) e la dimensione dei caratteri. In basso è possibile visualizzare un'anteprima basata sulla configurazione scelta.
La scheda Layout è quella un po' più avanzata. Possiamo impostare la grandezza del buffer dello schermo in numero di righe ( Altezza ) e di caratteri per riga ( Larghezza ) tenendo conto che l'altezza influenza quante righe vengono memorizzate nello storico e quindi può risultare utile un buffer più grande per poter visualizzare l'output generato dai comandi precedenti. Le dimensioni della finestra ( che non possono superare quelle del buffer ) indicano appunto la grandezza, in righe e colonne, della finestra di CMD. Se le dimensioni sono più piccole di quelle del buffer verranno visualizzate delle sbarre di scorrimento. E' possibile inoltre, sempre in questa scheda, impostare la posizione iniziale della finestra di CMD. Come nota a margine potrebbe esservi utile sapere che attivando CMD e premendo la combinazione di tasti ALT+INVIO porterete la finestra a tutto schermo, in puro stile DOS. Ripremendo ALT+INVIO tutto tornerà come prima.
La quarta e ultima scheda, Colori permette di impostare separatamente i colori del testo e dello sfondo della finestra e delle finestre pop-up ( provate a premere F9 mentre usate CMD per vederne una ).
Una volta applicate le modifiche premete Ok e riavviate CMD e ammirate i risultati. Se non vi soddisfano potete sempre riprovare.
E' il turno del Prompt
Se avete letto il nostro articolo sulle variabili d'ambiente in Windows XP forse ricorderete la variabile PROMPT che serviva per modificare appunto l'apparenza del prompt dei comandi in CMD. Normalmente questo è il classico PROMPT:
Classico. Niente di particolare. Guardate un po' questo:
Che ne dite? Meglio? Ma come possiamo ottenerlo?
Lasciando stare i colori dei quali abbiamo già parlato precedentemente concentriamoci solamente sul prompt. Dicevamo che CMD mette a disposizione il comando prompt per la personalizzazione. Vediamo quali sono le opzioni di tale comando:
$A & (e commerciale) $B | (pipe) $C ( (parentesi sinistra) $D Data corrente $E Codice escape (codice ASCII 27) $F ) (parentesi destra) $G > (simbolo maggiore di) $H Backspace (cancella carattere precedente) $L < (simbolo minore di) $N Unità corrente $P Unità corrente e percorso $Q = (simbolo uguaglianza) $S (spazio) $T Ora corrente $V Numero della versione di Windows XP $_ Ritorno a capo e avanzamento riga $$ $ (simbolo dollaro)
Per esempio possiamo creare un prompt che contenga il nostro nome utente, il percorso della cartella utente ed un simbolo “>” dando il comando
prompt %username%$P$G
Ecco il risultato
Se vogliamo aggiungere anche un ritorno a capo prima del simbolo “>” possiamo dare invece
prompt %username%$P$_$G
Per ottenere invece un prompt come quello del nostro esempio il processo è un pochino più difficoltoso in quanto il carattere ► non fa parte dello standard ASCII. Dovete infatti dare il comando
prompt %username%@%computername%$$$p$_^P
dove ^P sta per la combinazione di tasti Ctrl + P.
NOTA: le scritte tra due segni “%” rappresentano variabili d'ambiente. Leggete questo articolo per saperne di più.
Uniamo il tutto
Si tutto questo è molto bello ma sia per creare le macro che per cambiare il prompt devo ogni volta dare il comando? La risposta a questa domanda è NO, c'è una soluzione migliore. Possiamo creare uno script batch che lanci CMD per noi e imposti sia le macro che il prompt e poi richiamare sempre questo script al posto di usare il vecchio comando CMD. Per esempio noi abbiamo creato nella cartella C:\Windows\System32 un file di testo chiamandolo cli.bat prendendo spunto dalla sigla CLI che significa Command Line Interface ma potete dargli il nome che preferite.
A questo punto modificatelo ed inserite per esempio:
@echo off
doskey /macrofile=%windir%\system32\aliases.txt
cd /d c:\
title Oniric - %CD%
"%comspec%" /k prompt %username%@%computername%$$$p$_$G
La prima riga serve solo per fare in modo di visualizzare solo l'output dei comandi successivi e non la serie di prompt e le stringhe dei comandi stessi. Dalla seconda linea iniziano i comandi relativi alla nostra personalizzazione:
doskey /macrofile=%windir%\system32\aliases.txt
questo l'abbiamo già visto e serve per caricare il file contenente le nostre macro (%windir% è una variabile d'ambiente e indica la cartella di installazione di Windows ). La seconda riga serve per selezionare la cartella iniziale di lavoro che nel nostro caso è la radice del disco C:. La terza riga semplicemente modifica il titolo della finestra di CMD in “Oniric - %CD%” dove %CD% rappresenta la cartelle di lavoro corrente al momento del lancio del comando che nel nostro caso è C:\ come indicato prima. L'ultima riga invece lancia CMD e modifica il prompt come visto prima, non con la freccetta ma con il simbolo “>”. Se volete la freccetta dovrete fare un po' di lavoro in più. Ecco la procedura passo-passo:
1 – Aprite CMD e date il seguente comando
echo ^P > c:\freccia.txt
dove ^P indica la combinazione di tasti “Ctrl + P”. Con tale comando avrete creato un file c:\freccia.txt con all'interno la rappresentazione del carattere ►. 2 – Aprite il file c:\freccia.txt con blocco note, selezionatene il contenuto e copiatelo. Non abbiate timore anche se vedere solamente un quadrato. 3 – Aprite cli.bat ( il file batch che lancia il vostro CMD personalizzato ) e modificate l'ultima riga sostituendo $G con quello che avete copiato precedentemente dal file freccia.txt. Salvete e provate ad avviare cli.bat. Voilà!
Per lanciare il vostro nuovo CMD potete semplicemente fare doppio click sulla sua icona oppure creare un collegamento ad esso e posizionarlo dove più vi aggrada. Un altro metodo, se per esempio avete salvato cli.bat in C:\Windows\System32, è quello di fare click sul menù Start, cliccare ancora su Esegui e poi inserire cli.
Come ultima chicca provate ad aggiungere questa macro nel vostro file degli alias:
cd=cd $* && title Oniric - $*
Essa esegue due comandi, separati da &&. Abbiamo fatto in modo che dando il comando CD, tipicamente usato per spostarsi da una cartella all'altra, il titolo della finestra cambiasse automaticamente riportando il nome della cartella verso la quale ci siamo portati.
Ora però provate voi! Sperimentate e create nuove macro o nuove personalizzazioni e speditecele. Le più belle o utili saranno aggiunte a questo articolo con il vostro nome! L'indirizzo email a cui inviare il materiale è stefano.angaran@upyou.it
|