Operare sui file dal Prompt dei comandi
Ambiente: Prompt dei comandi di Windows | Obiettivo: gestire file tramite comandi testuali
Il Prompt dei comandi permette di effettuare molte delle operazioni che normalmente vengono eseguite attraverso Esplora file utilizzando esclusivamente comandi testuali.
In questa attività lavoreremo solamente sui file, senza introdurre ancora la gestione dei percorsi e delle directory. Tutti i file utilizzati negli esempi saranno quindi creati e gestiti nella posizione nella quale si trova già il Prompt dei comandi.
Ogni comando eseguirà un'operazione precisa su un file: creazione, scrittura, lettura, modifica, rinomina, copia, confronto, visualizzazione degli attributi oppure eliminazione.
Creare un file vuoto
Comando: type nul | Risultato: crea un file senza contenuto
Per creare un file vuoto dal Prompt dei comandi possiamo utilizzare:
type nul > appunti.txt
Il comando crea un file chiamato appunti.txt.
L'estensione .txt indica che stiamo lavorando con un file di testo. Il file appena creato non contiene ancora alcun testo.
Dopo l'esecuzione del comando esiste un nuovo file chiamato appunti.txt con dimensione iniziale pari a zero byte.
Scrivere testo in un file
Comando: echo | Operatore: > invia l'output nel file
Il comando echo permette di produrre una riga di testo. Normalmente il testo viene visualizzato direttamente nella finestra di CMD.
echo Sistemi e Reti
L'output sarà:
Sistemi e Reti
È possibile però utilizzare il simbolo > per inviare questo output all'interno di un file:
echo Sistemi e Reti > appunti.txt
In questo caso il testo non viene semplicemente mostrato sullo schermo, ma viene scritto nel file appunti.txt.
Se il file contiene già del testo, utilizzando > il contenuto precedente viene sostituito dal nuovo contenuto.
Visualizzare il contenuto di un file
Comando: type | Risultato: mostra il contenuto del file
Il comando type permette di leggere direttamente nel Prompt dei comandi il contenuto di un file di testo.
type appunti.txt
Se precedentemente abbiamo scritto:
echo Sistemi e Reti > appunti.txt
il risultato di type sarà:
Sistemi e Reti
Il comando type non modifica il file: si limita a mostrarne il contenuto.
Aggiungere testo senza cancellare quello esistente
Comando: echo | Operatore: >> aggiunge il nuovo output
Se vogliamo aggiungere una nuova riga mantenendo il contenuto già presente nel file utilizziamo il simbolo >>.
echo Prima riga > appunti.txt
echo Seconda riga >> appunti.txt
echo Terza riga >> appunti.txt
Visualizzando il file:
type appunti.txt
otteniamo:
Prima riga
Seconda riga
Terza riga
| Operatore | Funzione | Contenuto precedente |
|---|---|---|
| > | Scrive l'output nel file | Viene sostituito |
| >> | Aggiunge l'output alla fine del file | Viene mantenuto |
La redirezione dell'output
Output normale: visualizzato nella finestra | Output rediretto: scritto in un file
I simboli > e >> sono chiamati operatori di redirezione dell'output.
Consideriamo il comando:
echo Ciao
Senza redirezione, la parola Ciao viene visualizzata nella finestra di CMD.
Utilizzando:
echo Ciao > prova.txt
l'output viene invece inviato al file prova.txt.
comando → output → operatore di redirezione → file
Prima di utilizzare > su un file esistente è necessario ricordare che il contenuto precedente verrà sostituito. Se si vuole aggiungere testo senza perdere quello già presente si utilizza >>.
Aprire e modificare un file con Blocco note
Comando: notepad | Funzione: apre il file in un editor di testo
Un file di testo può essere aperto direttamente da CMD utilizzando Blocco note.
notepad appunti.txt
Windows avvia Blocco note e apre il file indicato. A questo punto è possibile modificare il testo utilizzando l'interfaccia grafica.
Dopo aver effettuato una modifica:
- salvare il file;
- chiudere Blocco note;
- tornare al Prompt dei comandi;
- visualizzare nuovamente il contenuto.
type appunti.txt
Il comando type deve mostrare anche le modifiche effettuate e salvate con Blocco note.
Rinominare un file
Comando: ren | Effetto: cambia il nome del file
Il comando ren, abbreviazione di rename, permette di cambiare il nome di un file.
La struttura utilizzata è:
ren vecchio_nome nuovo_nome
Per rinominare appunti.txt in sistemi.txt:
ren appunti.txt sistemi.txt
La rinomina modifica il nome del file ma non il suo contenuto. Dopo la rinomina è possibile verificarlo con:
type sistemi.txt
Copiare un file
Comando: copy | Risultato: crea una seconda copia del file
Il comando copy permette di creare una copia di un file.
Per creare copia.txt partendo dal file sistemi.txt:
copy sistemi.txt copia.txt
Al termine dell'operazione sono presenti due file: sistemi.txt e copia.txt. I due file contengono inizialmente gli stessi dati.
Confrontare due file
Comando: fc | Funzione: confronta il contenuto di due file
Il comando fc, abbreviazione di File Compare, permette di confrontare due file.
fc sistemi.txt copia.txt
Se i file sono identici, CMD segnala che non sono state rilevate differenze.
Dopo aver creato copia.txt, aprilo con:
notepad copia.txt
Modifica una riga, salva il file e ripeti:
fc sistemi.txt copia.txt
Questa volta il comando evidenzierà le differenze individuate.
Visualizzare le informazioni di un file
Comando: dir nomefile | Informazioni: nome, data, ora e dimensione
Il comando dir può essere utilizzato indicando direttamente il nome del file che vogliamo controllare.
dir sistemi.txt
Nell'output è possibile individuare diverse informazioni sul file, tra cui il nome, la data e l'ora associate al file e la dimensione espressa in byte.
Utilizziamo dir solamente per osservare le informazioni relative a uno specifico file. La gestione delle directory e dei percorsi verrà affrontata separatamente.
Visualizzare gli attributi di un file
Comando: attrib | Risultato: mostra gli attributi associati al file
Oltre al nome e al contenuto, un file può possedere alcuni attributi che ne descrivono determinate caratteristiche.
Per visualizzare gli attributi del file sistemi.txt:
attrib sistemi.txt
Tra gli attributi che possono essere visualizzati troviamo:
| Lettera | Significato |
|---|---|
| R | Read-only: file impostato come sola lettura |
| H | Hidden: file nascosto |
| S | System: file associato al sistema |
| A | Archive: attributo archivio |
Impostare un file come sola lettura
Comando: attrib +R | Attributo: Read-only
L'attributo R, cioè Read-only, indica che il file è impostato come sola lettura.
Per aggiungere questo attributo:
attrib +R sistemi.txt
Possiamo verificarne l'applicazione eseguendo:
attrib sistemi.txt
Nell'output del comando attrib deve comparire la lettera R.
Per rimuovere l'attributo di sola lettura si utilizza invece:
attrib -R sistemi.txt
Con il comando attrib, il simbolo + aggiunge un attributo, mentre il simbolo - lo rimuove.
Eliminare un file
Comando: del | Effetto: elimina il file indicato
Il comando del, abbreviazione di delete, permette di eliminare un file.
del copia.txt
Prima di eseguire del è necessario controllare attentamente il nome del file indicato. L'eliminazione eseguita dal Prompt dei comandi non deve essere considerata equivalente allo spostamento manuale di un file nel Cestino di Windows.
| Operazione | Comando | Esempio |
|---|---|---|
| Creare un file vuoto | type nul > nomefile | type nul > appunti.txt |
| Scrivere nel file | echo testo > nomefile | echo Prima riga > appunti.txt |
| Aggiungere testo | echo testo >> nomefile | echo Seconda riga >> appunti.txt |
| Leggere il file | type nomefile | type appunti.txt |
| Aprire e modificare | notepad nomefile | notepad appunti.txt |
| Rinominare | ren vecchio nuovo | ren appunti.txt sistemi.txt |
| Copiare | copy originale copia | copy sistemi.txt copia.txt |
| Confrontare | fc file1 file2 | fc sistemi.txt copia.txt |
| Visualizzare informazioni | dir nomefile | dir sistemi.txt |
| Visualizzare attributi | attrib nomefile | attrib sistemi.txt |
| Aggiungere sola lettura | attrib +R nomefile | attrib +R sistemi.txt |
| Rimuovere sola lettura | attrib -R nomefile | attrib -R sistemi.txt |
| Eliminare | del nomefile | del copia.txt |
Laboratorio guidato: gestione di un file
Obiettivo: eseguire un ciclo completo di operazioni su un file | Ambiente: Prompt dei comandi
Esegui nell'ordine tutte le operazioni indicate. Dopo ogni comando controlla il risultato prima di procedere al passaggio successivo. Tutte le operazioni riguardano esclusivamente i file utilizzati nell'attività.
1. Crea un file vuoto
Digita:
type nul > appunti.txt
Il file appunti.txt è stato creato.
2. Controlla il file appena creato
Digita:
dir appunti.txt
Individua nell'output il nome del file e la sua dimensione.
Il file è stato appena creato e non contiene ancora testo.
3. Scrivi la prima riga
Digita:
echo Laboratorio di Sistemi e Reti > appunti.txt
Il contenuto precedente viene sostituito con il testo indicato.
4. Leggi il contenuto
Digita:
type appunti.txt
Laboratorio di Sistemi e Reti
5. Aggiungi altre righe
Digita:
echo Sto utilizzando il Prompt dei comandi. >> appunti.txt
echo Sto imparando a gestire i file con CMD. >> appunti.txt
In entrambi i comandi è stato utilizzato >>, quindi le nuove righe vengono aggiunte senza eliminare quelle precedenti.
6. Controlla nuovamente il contenuto
type appunti.txt
Laboratorio di Sistemi e Reti
Sto utilizzando il Prompt dei comandi.
Sto imparando a gestire i file con CMD.
7. Apri e modifica il file
Digita:
notepad appunti.txt
Nel Blocco note aggiungi manualmente una nuova riga:
Questa riga è stata inserita con Blocco note.
Salva il file, chiudi Blocco note e torna al Prompt dei comandi.
Controlla il risultato con:
type appunti.txt
8. Rinomina il file
Digita:
ren appunti.txt sistemi.txt
Il file ora si chiama sistemi.txt.
Verifica il contenuto:
type sistemi.txt
Il nome è cambiato, ma il contenuto del file è rimasto invariato.
9. Crea una copia
Digita:
copy sistemi.txt copia.txt
Ora sono disponibili due file con lo stesso contenuto.
10. Confronta i due file
Digita:
fc sistemi.txt copia.txt
Poiché copia.txt è appena stato creato partendo da sistemi.txt, i due file dovrebbero avere lo stesso contenuto.
11. Modifica solamente la copia
Digita:
echo Riga presente solamente nella copia. >> copia.txt
Ora confronta nuovamente i file:
fc sistemi.txt copia.txt
Questa volta fc deve rilevare una differenza tra i due file.
12. Visualizza le informazioni del file
Digita:
dir sistemi.txt
Individua nell'output:
- il nome del file;
- la data e l'ora visualizzate;
- la dimensione del file espressa in byte.
13. Controlla gli attributi
Digita:
attrib sistemi.txt
Osserva le lettere eventualmente visualizzate prima del nome del file.
14. Imposta il file come sola lettura
Digita:
attrib +R sistemi.txt
Controlla il nuovo attributo:
attrib sistemi.txt
Nell'output deve comparire la lettera R.
15. Rimuovi l'attributo di sola lettura
Digita:
attrib -R sistemi.txt
Verifica:
attrib sistemi.txt
La lettera R non deve più indicare l'attributo di sola lettura.
16. Elimina il file di copia
Elimina solamente copia.txt:
del copia.txt
Controlla attentamente che il nome scritto sia copia.txt. Quando si utilizza del, verificare il nome del file è parte dell'operazione.
17. Verifica finale
Controlla che sistemi.txt esista ancora:
dir sistemi.txt
Visualizzane infine il contenuto:
type sistemi.txt
Hai creato un file, scritto e aggiunto testo, letto e modificato il contenuto, rinominato e copiato il file, confrontato due versioni, osservato le informazioni e gli attributi, modificato l'attributo di sola lettura ed eliminato una copia.
- Creare un file vuoto con type nul >.
- Scrivere testo in un file utilizzando echo e >.
- Aggiungere testo utilizzando >>.
- Comprendere la differenza tra sovrascrittura e aggiunta di contenuto.
- Visualizzare il contenuto di un file con type.
- Aprire e modificare un file con notepad.
- Rinominare un file con ren.
- Creare una copia con copy.
- Confrontare due file con fc.
- Visualizzare le informazioni di un file con dir.
- Visualizzare e modificare l'attributo di sola lettura con attrib.
- Eliminare un file con del.
- Creare un file utilizzando il Prompt dei comandi.
- Scrivere e aggiungere contenuto testuale a un file.
- Visualizzare il contenuto di un file direttamente da CMD.
- Aprire e modificare un file con Blocco note.
- Rinominare e copiare un file utilizzando comandi testuali.
- Confrontare il contenuto di due file.
- Visualizzare informazioni e attributi di un file.
- Impostare e rimuovere l'attributo di sola lettura.
- Eliminare un file dal Prompt dei comandi.
- Comprendere la differenza tra gli operatori di redirezione > e >>.