L'altro giorno stavo bazzicando la bacheca /g/ di 4chan ((4chan può sembrare un luogo un po' underground, ma la realtà è che oltre ai troll, flame e alle banalità ci si può trovare davanti a vere e proprie perle di saggezza. Dategli un'occhiata ;))) e ho buttato l'occhio su una cosa che mi sembrava strana (oddio di cose strane ce ne sono molte su 4chan :D). C'era un'immagine di un desktop Windows 8 con il prompt su cui erano stampante le informazioni di sistema. Ora ritrovandomi a lavorare molto spesso su sistemi GNU/Linux ho sempre utilizzato archey o screenfetch e devo dire che questi piccoli script eseguiti all'apertura del terminale hanno un loro fascino.
Vedendoli però anche su Windows non ho potuto resiste alla tentazione, ed ho voluto assolutamente provare a replicare il risultato. Dopo una brevissima ricerca ho scoperto che esiste già preconfezionato uno script che faceva al caso mio: CMDfetch.
Ecco come usarlo. 😀
Scarichiamo il pacchetto dal link che ho inserito appena sopra. All'interno troveremo un file batch, l'interprete e il sorgente lua e alcuni file dll ed exe relativi ad ansicon. Quest'ultimo fornisce il supporto alla formattazione, colorazione, ecc, dell'output su terminale.
Personalmente però, avendo un sistema 64 bit, il pacchetto incluso non funzionava a dovere. Ho dovuto scaricare i binari di ansicon x86 e x64 dal sito ufficiale. Una volta scompattato l'archivio basta copiare il contenuto della cartella X64 in quella di CMDfetch. In questo modo avremo il supporto per sistemi a 64 bit.
Ora possiamo spostare la cartella cmdfetch e tutto il suo contenuto in un posto "tranquillo", dove non sarà spostato in futuro. Ad esempio in "C:\" o in "C:\Windows".
Ora abbiamo tutto il materiale che serve per lanciare cmdfetch, tuttavia questo non verrà eseguito ad ogni apertura del prompt. Per fare questo dobbiamo creare uno script che verrà eseguito all'avvio di cmd e che a sua volta richiamerà l'esecuzione di cmdfetch.
Andiamo a creare un file nuovo, io lo ho chiamato barshrc.cmd (.bashrc è il file di configurazione del terminale in moltissimi sistemi GNU/Linux) e all'interno scriviamo:
@ECHO OFF cls cd <path-to-cmdfetch-folder> ansicon.exe -i lua source.lua ansicon.exe -u cd "C:\Users\<username>"
Mi raccomando completate i campi tra le parentesi angolari. 😉
Mettiamo il file assieme a quelli di cmdfetch, o ancora meglio in C:\Windows. Dobbiamo assolutamente ricordarci che questo file viene eseguito ad ogni avvio di cmd, dobbiamo quindi ricordarcene in futuro se dobbiamo rimettere mano alla configurazione del prompt.
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor]
Qui creiamo un nuova chiave stringa dandogli il nome "AutoRun". Il valore di questa chiave corrisponderà al path del file bashrc.cmd creato.
Ed ecco il risultato:
Ogni volta che aprirete il terminale vi comparirà questo simpatico riassunto.
Lo script di cmdfetch accetta dei parametri, potete visualizzare l'help digitando:
lua.exe source.lua --help
Lo script ha un piccolo impatto sulle prestazioni all'avvio del prompt. Quindi dovrete attendere quei 2-3 secondi necessari allo script per generare il report. Vi ho avvisato. 😀