Sistemi Operativi

I File Nel Prompt Dei Comandi

Operazioni fondamentali sui file dal Prompt dei comandi di Windows: creazione, scrittura, lettura, modifica, rinomina, copia, confronto, attributi ed eliminazione.

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.

Concetto fondamentale

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.

Risultato

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.

Attenzione all'operatore >

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.

Schema della redirezione

comando → output → operatore di redirezione → file

> e >> non sono equivalenti

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:

  1. salvare il file;
  2. chiudere Blocco note;
  3. tornare al Prompt dei comandi;
  4. visualizzare nuovamente il contenuto.
type appunti.txt
Verifica

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
Il contenuto non cambia

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
Risultato

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.

Prova

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.

In questa attività

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
Cosa osservare

Nell'output del comando attrib deve comparire la lettera R.

Per rimuovere l'attributo di sola lettura si utilizza invece:

attrib -R sistemi.txt
+ e - negli attributi

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
Attenzione all'eliminazione

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.

Comandi presentati
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

Attività da svolgere

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.

Controllo

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
Output atteso
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
Output atteso
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
Osservazione

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
Cosa osservare

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
Controllo

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
Prima di premere Invio

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
Laboratorio completato

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.

Cosa hai imparato
  • 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.