UNIVERSITA' DEGLI STUDI DI ROMA

"LA SAPIENZA"

FACOLTA' DI INGEGNERIA

Guida al sistema MS/DOS

a cura di Giuseppe Basile

ANNO ACCADEMICO 1995/96

Indice dei principali argomenti

1. Introduzione al sistema MS/DOS.

MS/DOS è il sistema operativo rilasciato dalla MicroSoft per le macchine IBM e compatibili basate sulla famiglia di processori 8086. La sigla MS/DOS è un acronimo e sta per MicroSoft Disk Operating System, cioè Sistema Operativo basato su Disco.

Il sistema operativo è un programma che consente un utilizzo corretto ed efficiente del calcolatore e facilita le operazioni dell'utente mettendo a disposizione un ambiente all'interno del quale è possibile accedere, in maniera semplice, a tutte le risorse dell'elaboratore (dischi, memoria, stampante).

MS/DOS è nato per il Personal Computing e consente ad un solo utente di accedere alle risorse del computer mediante un solo programma. Questa caratteristica si esprime dicendo che MS/DOS è un sistema monoutente che non ammette multiprogrammazione.

In queste note si intende fornire le indicazioni essenziali per l'utilizzo dei principali e più importanti comandi di MS/DOS, illustrando alcuni concetti fondamentali (come direttorio corrente, cammino) che consentono di navigare tra le informazioni contenute sui dischi.

Quando si accende il calcolatore per incominciare una sessione di lavoro, una procedura automatica detta boot-strap, prepara l'ambiente MS/DOS caricando dal disco rigido i programmi opportuni.

Terminata la procedura, il sistema operativo MS/DOS ci avverte che è pronto ad eseguire i nostri comandi. Tipicamente dopo l'accensione il sistema risponde con la sequenza:

C:\>

con il cursore lampeggiante alla destra del simbolo >.

La sequenza è detta prompt. A questo punto è possibile introdurre un comando. Si osservi che digitare il comando non è sufficiente; affinchè venga eseguito è necessario premere il tasto INVIO.

2. Concetti fondamentali: organizzazione dei dati su disco.

2.1. Le Unità a Dischi.

Il sistema MS/DOS, come già sottolineato, è un sistema basato su disco. L'utente interagisce continuamente con informazioni presenti sui dischi (rigidi o floppy). In ogni istante però, l'utente può interagire, in modo diretto, con una sola unità a dischi detta unità corrente (o attiva).

Le unità a dischi sono individuate da lettere dell'alfabeto. Ad esempio, C individua il disco rigido (quello attivo all'accensione), mentre solitamente A (e B, quando presente) individuano le unità a dischi floppy. Presso il laboratorio di via Tiburtina gli utenti hanno a disposizione anche l'unità F che è quella relativa al server di rete.

2.2. I File.

Tutte le informazioni utilizzate dal computer sono memorizzate in file. Un file (la cui traduzione in italiano è archivio, ma la dizione è poco usata) è un insieme di informazioni memorizzate su disco al quale è associato un nome.

Tutti i file hanno un nome, la maggior parte ha poi anche una estensione. L'estensione segue sempre il nome ed è separata dal nome da un punto (.). Ad esempio COMMAND.COM indica il file di nome COMMAND ed estensione COM.

Il nome non può essere più lungo di otto caratteri e non deve contenere spazi, virgole, barre rovesciate e/o punti. Le estensioni aiutano ad identificare il tipo di file.

Le estensioni più utilizzate sono:

.EXE (eseguibile) o .COM (comando) per i file di programma;

.SYS (sistema) per i file che contengono informazioni relative all'hardware in uso;

.BAT (batch) per i file che contengono sequenze di comandi MS/DOS per automatizzare alcune operazioni;

Le estensioni non devono superare i tre caratteri. E' buona norma utilizzare nomi ed estensioni significativi che facilitino la individuazione dei file.

Esistono due principali tipi di file: i file di programma ed i file di dati. Il primo tipo contiene i programmi eseguibili, mentre le informazioni generate od utilizzate all'interno di un programma sono memorizzate in file del secondo tipo.

2.3. I Direttori (Directory).

Poichè ciascun utente, in condizioni normali, utilizza diverse decine di file, risulta utile organizzare tali file in direttori e subdirettori sulle unità a disco. Per una migliore comprensione è utile il paragone tra direttori (e subdirettori) e raccoglitori per documenti o schedari contenenti cartelle di documenti. Come le cartelle di uno schedario contengono gruppi di documenti correlati, così le direttori contengono gruppi di file correlati.

E' possibile utilizzare i comandi MS/DOS per creare direttori e garantire una migliore organizzazione dei file. In particolare è possibile creare un direttorio all'interno di un altro direttorio. Il nuovo direttorio è detto subdirettorio o direttorio figlio, per enfatizzare la relazione di parentela con quello che lo contiene (detto talvolta padre).

L'insieme dei direttori, subdirettori e file costituisce la struttura dei direttori.. Quando viene formattato un disco (in seguito sarà chiarito il significato di tale operazione), MS/DOS crea un direttorio principale o direttorio radice. Tutte i direttori che verranno creati in seguito saranno diramazioni di tale direttorio. La struttura dei direttori assume dunque una forma ad albero rovesciato. Un esempio di struttura dei direttori è data dalla fig.1 seguente:

\

TPI .... ....

SCHAERF NARDI CORRETTI VARI

La figura riporta solo una parte della struttura. Si noti che tutte i direttori hanno un nome, ad eccezione del direttorio radice che è sempre rappresentato dalla barra rovesciata, detta back-slash (\). Un direttorio può anche avere una estensione, analogamente a quanto accade per i file.

Due subdirettori dello stesso direttorio non possono avere lo stesso nome. Al contrario, due o più subdirettori di due direttori differenti possono avere nome uguale.

Osserviamo, infine, che ciascuna unità a dischi ha un direttorio, detto attivo o corrente, con il quale l'utente interagisce direttamente.

2.4. I Cammini.

Come abbiamo visto il prompt è una sequenza costituita dalla lettera che individua il disco corrente e da una sottosequenza (quella che segue i due punti) che individua il particolare direttorio corrente. Tale sottosequenza è detta percorso o cammino (in inglese path).

Il cammino assoluto indica la posizione di un file o di un direttorio all'interno della struttura dei direttori di una unità a dischi. Esso rappresenta il percorso che MS/DOS deve seguire, a partire dal direttorio principale di una unità a dischi, per raggiungere un file o un direttorio.

Per chiarire il concetto di cammino è utile far riferimento al ramo della struttura dei direttori in fig.1, relativa a programmi di esercitazione disponibili per il linguaggio Turbo Pascal. La fig.2 rappresenta lo stesso ramo della struttura dei direttori in forma differente:

Elenco dei percorsi dei direttori del volume 50

Il numero di serie del volume è 3116-19D3

C:\

+---TPI

+---SCHAERF

| +---LIVELLO2

| +---LIVELLO6

| +---EXDIFF

| +---LIVELLO1

| +---LIVELLO3

| +---LIVELLO4

| +---LIVELLO5

| +---LIVELLO7

+---CORRETTI

+---NARDI

+---VARI

(fig.2)

La fig.2 riporta i nomi dei subdirettori del direttorio di nome SCHAERF non riportati in fig.1.

Il cammino che individua il sottodirettorio TPI, figlia del direttorio radice, è il seguente:

C:\TPI

Analizziamo la sequenza precedente. Il primo carattere (C: ) individuano la unità a dischi interessata, i caratteri successivi (quelli che seguono i due punti) appartengono al cammino; Il cammino incomincia con il simbolo (\), che individua il direttorio radice, e continua con il nome del direttorio TPI.. Il percorso parte dal direttorio radice e arriva al sottodirettorio TPI.

Se il direttorio attivo è la radice, il prompt visualizzato sullo schermo è:

C:\>

Per individuare il direttorio EXDIFF utilizziamo il seguente cammino:

\TPI\SCHAERF\EXDIFF

Il punto di partenza è il direttorio radice individuato dalla prima barra (\). Segue quindi il nome del direttorio figlio (della radice) TPI, quindi di nuovo una barra (\). Quest'ultima, come tutte quelle che seguono, non ha il significato di direttorio radice. Essa ha invece la funzione di separatore tra un direttorio ed un direttorio figlio. Segue quindi il nome SCHAERF che individua un sottodirettorio di TPI, di nuovo un back-slash (\) ed infine il direttorio di arrivo EXDIFF che è quello individuata dal cammino. Il percorso così individuato può essere seguito sulla fig.2. ed, in parte, sulla fig.1.

Specificare il cammino di un direttorio, una volta nota la struttura dei direttori dell'unità sulla quale ha interesse lavorare, è dunque piuttosto semplice. E' sufficiente specificare il direttorio radice (\) seguita dai nomi dei direttori che si incontrano partendo dal direttorio radice e seguendo il percorso sino al direttorio di interesse. I nomi dei direttori devono essere separati usando il back-slash.

Un cammino che parte dal direttorio radice è detto assoluto. Un cammino è anche detto nome. Il cammino è infatti il nome di un direttorio in una specifica unità a dischi; il suo scopo è quello di facilitare l'individuazione del direttorio. Oltre ai nomi (o percorsi) assoluti, MS/DOS consente di specificare anche nomi relativi. Essi non partono dal direttorio radice, ma dal direttorio corrente della unità attiva. Si tornerà sui percorsi relativi in seguito.

3. Comandi per la gestione dei dischi.

3.1. Cambiamento di unità corrente.

Si sono illustrati i concetti di unità a dischi attiva e direttorio corrente. Se il nostro sistema ha a disposizione più di un disco, cioè possiede lettori di dischi floppy oltre al disco rigido, o altri dischi rigidi diversi da C, come ad esempio F, può essere necessario doversi spostare da un disco all'altro, cioè rendere attivo un disco differente da quello rigido. Per rendere attivo un disco differente da quello correntemente attivo è sufficiente digitare la lettera ad esso associata seguita dai due punti (:) e premere quindi INVIO.

Ad esempio se il disco corrente è C, e si vuole rendere attiva l'unità a dischetti A, è sufficiente digitare al prompt:

A:

e premere INVIO. Il prompt cambierà, indicando la nuova unità corrente:

A:\>

In realtà ciascuna unità ha una suo direttorio corrente di cui conserva memoria anche quando non è attiva. Pertanto se la unità A avesse un direttorio corrente diverso dal direttorio radice, ciò sarebbe correttamente comunicato dal prompt di MS/DOS.

3.2. Formattazione dei supporti magnetici: comando FORMAT.

Di solito un disco nuovo, per essere utilizzato da MS/DOS, ha bisogno di essere formattato. Questa operazione inizializza il disco, cioè organizza la sua struttura fornendo ad essa un formato (e da qui il termine formattazione) riconoscibile ed utilizzabile dal sistema operativo.

La formattazione può essere effettuata su un disco che contiene già delle informazioni. In tal caso le informazioni vengono distrutte e non sono più ripristinabili. Per questo motivo è sempre bene controllare con attenzione il disco da formattare.

Per formattare un floppy disk su una unità occorre impartire il comando FORMAT seguito dalla sequenza che individua lo specifico floppy (A oppure B). Ad esempio:

FORMAT A:

formatta il dischetto contenuto nell'unità A. Si noti che tra il comando e la sequenza A: è presente uno spazio. Quando viene introdotto il comando, appare il seguente messaggio:

Inserire un nuovo disco nell'unità A:

e premere INVIO quando si è pronti...

E' sufficiente seguire le istruzioni per incominciare l'operazione. Durante la formattazione vengono visualizzate sullo schermo alcune informazioni che riguardano lo stato della operazione. Al termine viene visualizzato il messaggio di completamento:

Formattazione completata.

e viene richiesto il nome che identifica il disco:

Etichetta di volume (11 caratteri, INVIO per non darne):

Una volta inserito il nome (seguito da INVIO) vengono fornite alcune informazioni (spazio totale e disponibile su disco, lunghezza e numero delle unità di allocazione, numero di serie del volume) e viene richiesto se effettuare un'altra formattazione:

Altro disco da formattare (S/N)?

al quale si dovrà rispondere con s o n seguito da INVIO a seconda che si voglia formattare o meno un altro dischetto.

La sintassi qui mostrata è la più semplice. In questo modo MS/DOS analizza il disco e seleziona automaticamente il formato più capiente per esso. I dischi più diffusi hanno una capienza di 1,4 Mbyte (Doppia Faccia(DF), Alta Densità(HD)).

3.3. Copia del contenuto di un disco: comando DISKCOPY.

Quando si lavora al computer è molto importante fare delle copie dei dischi che usiamo. Ciò è utile per motivi di sicurezza, in modo da avere da parte una versione funzionante del programma che si utilizza o che si sta scrivendo. Un discorso analogo vale per i file di dati. Il disco che utilizzate, infatti, può rompersi e ed il suo contenuto può essere interamente o parzialmente perduto. Una copia di salvataggio consente di ripristinare le informazioni perdute, presenti sulla copia originale. MS/DOS consente di copiare il contenuto di un disco su un altro disco, con il comando DISKCOPY seguito da due parametri. I parametri sono le sequenze che individuano rispettivamente il disco origine, cioè quello contenente le informazioni da copiare, ed il disco destinazione che conterrà la copia. Quest'ultimo deve essere già formattato. Se il calcolatore è provvisto di due lettori floppy (A e B), per effettuare la copia si usa il comando nella forma:

DISKCOPY A: B:

Esso ordina una copia del disco contenuto in A (disco origine) sul disco contenuto in B (disco destinazione). A questo punto viene richiesto di inserire i dischi nelle unità corrispondenti con messaggi del tipo:

Inserisci il disco ORIGINE nell'unità A:

Inserisci il disco DESTINAZIONE nell'unità B:

Premi un tasto per continuare...

Occorre fare molta attenzione ed eseguire correttamente le operazioni richieste. Se si commette un errore in questa fase si rischia di perdere la copia originale. Per questo motivo si raccomanda sempre di proteggere in scrittura il disco originale prima di effettuare una copia.

Se il computer è provvisto di una sola unità a dischi floppy, per effettuare la copia bisogna introdurre il comando:

DISKCOPY A: A:

questo informa MS/DOS che, durante la copia, dovrà utilizzare la stessa unità a dischi sia come origine che come destinazione. Ci verrà richiesto più volte di alternare il disco originale con quello di copia con messaggi analoghi a quelli sù visti. Quando la copia sarà completata sul video apparirà il messaggio:

Il numero di serie del volume è .......

Altro disco da copiare (S/N)?

rispondendo s (sì) si da luogo ad un'altra operazione di copia, con n (no) si termina il comando DISKCOPY e si torna al prompt di MS/DOS.

4. Comandi per la gestione dei file.

4.1. Contenuto di un direttorio: comando DIR.

Il comando DIR consente di visualizzare il contenuto di un direttorio ed è un valido supporto per la individuazione dei file all'interno della struttura dei direttori. Nella sua forma più semplice:

DIR

visualizza l'elenco di tutti i file presenti nel direttorio corrente. Quando usato in questa forma, è necessario che l'unità e il direttorio di interesse siano correntemente attivi. Ciò può essere piuttosto scomodo. Per tale motivo MS/DOS fornisce una variante del comando che non richiede il cambiamento di unità. In termini più semplici, se si sta lavorando su una unità, MS/DOS offre la possibilità di analizzare il contenuto di un direttorio di un'altra unità. La unità ed il percorso del direttorio di cui vogliamo visualizzare il contenuto vengono specificati direttamente all'interno del comando, ad esempio:

DIR A:\

visualizza il contenuto della radice del disco A..

Se, ad esempio, l'unità corrente è A e vogliamo visualizzare il contenuto del direttorio in C, individuatao dal percorso \TPI\SCHAERF, si può introdurre dal prompt il comando:

DIR C:\TPI\SCHAERF

Accade spesso che un direttorio contenga troppi nomi di file per essere visualizzato in una sola schermata. MS/DOS offre la possibilità di suddividere la visualizzazione in più schermate aggiungendo l'opzione /P al comando DIR. Si faccia attenzione a non confondere il back-slash (\) con il carattere (/) usato per specificare i parametri nei comandi MS/DOS. Introducendo il comando:

DIR A:\ /P

si ottiene la visualizzazione del contenuto del direttorio radice di A su più pagine. Visualizzata la prima schermata MS/DOS si ferma. Per continuare la visualizzazione è sufficiente premere un qualsiasi tasto.

Quando la dimensione del direttorio eccede la capacità dello schermo è anche possibile utilizzare un'altra variante. E' possibile visualizzare solamente i nomi dei direttori e dei file, escludendo tutte le informazioni normalmente visualizzate dal comando DIR (dimensione, data e ora di creazione, etc..). Ciò è possibile aggiungendo l'opzione /W. Il comando:

DIR C:\ /W

visualizza i nomi di file e del direttorio radice di C disponendoli su (un massimo di) cinque colonne. Il nome del direttorio è riportato tra parentesi quadre ([..])

4.2. Visualizzazione del contenuto di un file: comando MORE.

E' utile spesso poter analizzare il contenuto di un file. Ciò puo essere fatto utilizzando il comando MORE che sfrutta una particolare tecnica avanzata del DOS chiamata redirezione dell'input sulla quale però non scendiamo in dettaglio.

Ci limitiamo ad osservare che se, ad esempio, il file AUTOEXEC.BAT è molto lungo, è possibile visualizzarlo digitando, al prompt:

MORE < C:\AUTOEXEC.BAT

Il comando MORE visualizzerà la prima pagina del file e poi si fermerà mostrando il seguente messaggio:

- Continua -

A questo punto sarà sufficiente premere un tasto qualsiasi per continuare con la visualizzazione della successiva pagina.

4.3. Copia del contenuto di un file: comando COPY.

Il principale motivo per il quale è necessario effettuare copie di un file, sia esso di programma o di dati, è la sicurezza. I file di interesse per l'utente sono infatti memorizzati su dispositivi fisici che possono avere problemi dovuti all'usura e alla utilizzazione non corretta.

Lo strumento che il sistema operativo MS/DOS offre per la protezione dei dati (e del lavoro) dell'utente è il comando COPY. Esso consente di copiare un file tra direttori o dischi, rinominare i file durante la copia e copiare un gruppo di file.

Occorre molta attenzione quando si utilizza il comando COPY; c'è il rischio di sovrascrivere inavvertitamente un file già esistente perdendo i dati in esso contenuti.

L'operazione di copia richiede che vengano specificati il nome (o percorso) sia del file da copiare (origine), sia di quello in cui si desidera copiare (destinazione).

Se, ad esempio, si vuole copiare il file COMP1.PAS, contenuto nel direttorio EXDIFF (vedi fig.2.), nel direttorio VARI, il comando da introdurre è il seguente:

COPY C:\TPI\SCHAERF\EXDIFF\COMP1.PAS C:\TPI\VARI

Si osservi che il file origine COMP1.PAS è il primo parametro del comando. Il secondo parametro è il percorso assoluto (o nome assoluto) del direttorio destinazione VARI che conterrà la copia. I nomi dei file origine e destinazione devono essere introdotti sempre in questo ordine. Il comando effettua una copia del file, nel direttorio destinazione specificata, assegnando ad esso lo stesso nome dell'originale.

Se si desidera assegnare un nuovo nome al file che si sta copiando, è necessario specificarlo come destinazione. Il nuovo nome però non deve far riferimento ad un file già esistente. Nell'esempio precedente, se vogliamo che la copia di COMP1.PAS abbia nel direttorio destinazione VARI il nome COMP.PAS è sufficiente introdurre:

COPY C:\TPI\SCHAERF\EXDIFF\COMP1.PAS C:\TPI\VARI\COMP.PAS

Supponiamo ora di voler fare la copia di tutti i file presenti in un direttorio. Piuttosto che introdurre tanti comandi di copia quanti sono i file, possiamo sfruttare alcune facilitazioni di MS/DOS. Se ad esempio, desideriamo copiare tutti i file del direttorio EXDIFF figlio di SCHAERF nel direttorio VARI conservando gli stessi nomi, quel che occorre digitare è:

COPY C:\TPI\SCHAERF\EXDIFF\*.* C:\TPI\VARI

Nel comando si è utilizzata la sequenza *.* per specificare tutti i file del direttorio. In effetti il carattere * (asterisco) ha, in MS/DOS, il significato di sequenza qualunque. La sequenza *.* individua allora tutti i file il cui nome (rappresentato dal primo asterisco) è una qualsiasi sequenza di al piu' 8 caratteri e l'estensione (rappresentata dal secondo asterisco e separata dal punto) è una qualsiasi estensione di 3 caratteri. E' ovvio che in questo modo si individuano tutti i file del direttorio, ottenendo il risultato voluto. Il carattere * detto carattere jolly (per le proprietà appena viste), può essere combinato in diversi modi per specificare gruppi di file, ad esempio:

*.PAS

individua tutti i file con estensione .PAS, mentre la sequenza:

PROGETTO.*

individua tutti i file di nome progetto (che hanno una qualsiasi estensione).

4.4. Assegnazione di un nuovo nome ad un file: comando RENAME.

Il comando RENAME viene utilizzato per ridenominare i file lasciandone inalterato il contenuto ed il percorso. Esso risulta particolarmente utile per la riorganizzazione dei file. Supponiamo, per esempio, di avere due versioni del file PROG.PAS. La versione nella radice del disco C è aggiornata con alcune modifiche, mentre quella nella radice del disco A è una versione vecchia del file. Per non generare confusione tra i due file e sapere sempre con esattezza quale è la versione più recente è possibile rinominare il file relativo alla vecchia versione, in questo modo:

REN A:\PROG.PAS PROG_VEC.PAS

Si è riportato come primo parametro il nome assoluto del file da rinominare e come secondo il nuovo nome. Con RENAME si può utilizzare anche il carattere jolly *. Ad esempio, se si desidera rinominare tutti i file del direttorio corrente con estensione TMP in file con stesso nome ed estensione TXT, si può utilizzare il comando:

REN *.TMP *.TXT

4.5. Eliminazione di un file: comando DELETE.

Utilizzando MS/DOS potrebbe essere necessario eliminare dei file non più necessari. E' possibile eliminare un solo file , gruppi di file selezionati o tutti i file presenti in un direttorio. Attenzione! Una volta eliminati i file, potrebbe non essere più possibile recuperarli. Occorre, pertanto, sempre accertarsi che i file selezionati siano proprio quelli che si desidera eliminare.

Per eliminare un singolo file, occorre digitare il comando DEL (che sta per Delete) seguito dal nome del file che si desidera eliminare. Ad esempio, per eliminare il file COMP1.PAS dal direttorio VARI è sufficiente scrivere:

DEL C:\TPI\VARI\COMP1.PAS

Il carattere jolly * può essere utilizzato per eliminare un gruppo di file. Ad esempio, per cancellare tutti i file del direttorio corrente aventi estensione .TXT si può introdurre il comando:

DEL *.TXT

Prima di eliminare un gruppo di file, è consigliabile visualizzarli con il comando DIR per controllo. Semplici verifiche consentono di evitare eliminazioni indesiderate.

Per cancellare tutti i file di un direttorio occorre specificare la sequenza *.*.Ad esempio, per cancellare tutti i file nel direttorio VARI , si digiti:

DEL C:\TPI\VARI\*.*

Se nel comando non viene specificato un percorso, vengono eliminati tutti i file del direttorio corrente.

Si osservi che ogni volta che con il comando DEL viene utilizzata la sequenza *.*, MS/DOS chiederà conferma della eliminazione. Se si è certi di voler eliminare tutti i file, digitare s.

Il comando DEL presenta una opzione interessante che consente di effettuare delle eliminazioni selettive. Se si aggiunge /P al comando DEL , MS/DOS chiede conferma per ciascuno dei file individuati dal parametro. Nell'esempio che segue:

DEL *.* /P

viene richiesto, per ciascun file del direttorio corrente, se si vuole effettuare l'eliminazione o meno. Per confermare l'operazione digitare s, per annullarla digitare n.

4.6. Stampa di un file: comando PRINT.

Dal prompt di MS/DOS è possibile stampare file di testo formattati (come sorgenti di programmi in Pascal) utilizzando il comando PRINT. Di solito, è consigliabile stampare i file di testo formattati ed altri particolari file direttamente dal programma con il quale sono stati creati. Per stampare il contenuto di un file, occorre prima selezionare una stampante di rete, quindi specificare il comando PRINT seguito dal nome del file da stampare. Supponiamo di voler stampare il contenuto del file PROGRAM.TXT registrato nella radice della unità C, il comando da introdurre è:

PRINT C:\PROGRAM.TXT

Per inviare più file alla stampante in una sola volta è possibile digitare i vari nomi separandoli da uno spazio. Si può anche utilizzare il carattere jolly *. Ad esempio, per stampare i file PROG1.PAS , TESTO.PAS e tutti i file con estensione .TXT si può introdurre il comando:

PRINT PROG1.PAS TESTO.PAS *.TXT

5. Comandi per la gestione dei direttori

Una abilità fondamentale che l'utente che si avvicina all'utilizzo del sistema MS/DOS deve acquisire è la capacità di muoversi all'interno dei direttori. L'utente deve cioè imparare a navigare all'interno della struttura dei direttori. Seguono i principali comandi che facilitano la navigazione.

5.1. Navigazione tra i direttori: comando CD e percorsi relativi.

Si è visto che ciascuna unità ha un suo direttorio corrente. Se il sistema dispone,ad esempio, di due dischi floppy ed un disco rigido, i direttori correnti sono, in tutto, tre.

Se su un disco non esistono subdirettori, il direttorio principale è sempre il direttorio corrente, se invece contiene dei subdirettori, è possibile utilizzare il comando CD (che sta per Change Directory) per spostarsi da un direttorio all'altro.

La forma più semplice del comando CD consente di spostarsi da un direttorio ad un figlio e viceversa, da un sottodirettorio al suo direttorio padre. Quando si usa il comando CD è bene che sia nota la struttura dei direttori e cioè la relazione di parentela che intercorre tra i direttori.

Se ad esempio il direttorio corrente è C:\ e si vuole rendere corrente il direttorio TPI, è sufficiente digitare:

CD TPI

Nel comando si è specificato il nome del direttorio figlio di quello corrente.

Eseguito il comando, il prompt diviene:

C:\TPI>

il direttorio TPI è ora corrente.

Per tornare al direttorio radice di C, è sufficiente digitare:

CD ..

I due punti (..) hanno il significato di direttorio precedente o direttorio padre di quello corrente. Il sottodirettorio TPI è figlio del direttorio radice di C (vedi fig.1.)

Se dalla radice del disco C si volesse raggiungere il sottodirettorio LIVELLO7 del direttorio SCHAERF, sarebbe sufficiente digitare:

CD \TPI\SCHAERF\LIVELLO7

Si noti che il percorso parte dal direttorio radice. Si sarebbe potuto raggiungere lo stesso risultato digitando in successione i tre seguenti comandi:

CD TPI

CD SCHAERF

CD LIVELLO7

Infine, se il direttorio corrente è LIVELLO7, e si vuole passare al direttorio LIVELLO6 "fratello" (perchè figlio dello stesso direttorio padre), occorre prima tornare al livello precedente (SCHAERF) e quindi spostarsi sul nuovo direttorio con il comando CD. L'operazione si può eseguire con la coppia di comandi:

CD ..

CD LIVELLO6

Fino ad ora abbiamo utilizzato nomi (o percorsi) assoluti. Tali percorsi iniziano sempre con il carattere (\) che denota appunto la radice.

MS/DOS consente anche di specificare cammini relativi. Tali cammini, diversamente da quelli assoluti, non partono dal direttorio radice ma dal direttorio corrente. Il concetto può essere chiarito con un esempio.

Se il direttorio corrente fosse TPI, avendosi così un prompt del tipo:

C:\TPI>

si potrebbe specificare il cammino necessario all'individuazione del direttorio EXDIFF in maniera relativa (percorso relativo) al direttorio corrente e cioè:

SCHAERF\EXDIFF

Si noti come in questo caso il primo carattere non sia (\) ma direttamente il nome del direttorio figlio di TPI. La barra (\) tra i due direttori ha ancora il significato di separatore.

Il comando per spostarsi nei direttori diviene quindi:

CD SCHAERF\EXDIFF (percorso relativo)

oppure

CD \TPI\SCHAERF\EXDIFF (percorso assoluto)

Si osservi che i nomi (o cammini) assoluti incominciano sempre con un carattere back-slash (\), mentre ciò non avviene per i nomi relativi.

I cammini relativi possono essere combinati anche con i due punti (..) il cui significato è stato già illustrato.

Se, ad esempio, il direttorio corrente è EXDIFF e vogliamo spostarci nel direttorio fratello LIVELLO6 si può sinteticamente scrivere:

CD ..\LIVELLO6

in tal modo specifichiamo il ritorno al livello precedente (direttorio SCHAERF) e quindi di nuovo nel direttorio LIVELLO6.

L'utente è invitato a sperimentare attentamente il comando CD.

5.2. Creazione ed eliminazione di direttori: comandi MD e RD

Quando si dispone di un gruppo di file che sono tra loro in relazione potrebbe essere comodo disporli in un direttorio a parte. In tal modo sono isolati dal resto dei programmi e risultano reperibili più facilmente. Per creare un direttorio è possibile utilizzare il comando MD (Make Directory). Prima di creare un direttorio occorre individuare la posizione in cui verrà inserito. Nella forma più semplice MD crea il nuovo direttorio come figlio di quello corrente. Quindi prima di inserire tale comando è necessario rendere attivo il direttorio corretto, utilizzando il comando CD già visto.

Ad esempio, se il direttorio corrente è il C:\ (radice del disco rigido), è possibile creare un sottodirettorio PROVA, con il comando:

MD PROVA

il cammino assoluto del nuovo direttorio così creato sarà \PROVA. In realtà non è necessario che il direttorio all'interno del quale creiamo il nuovo direttorio sia attivo. Utilizziamo ancora il concetto di cammino (assoluto o relativo).

Ad esempio, se il direttorio corrente è C:\TPI\CORRETTI, è possibile creare il sottodirettorio COMP2 del direttorio NARDI semplicemente specificando il percorso corretto nel comando MD, come segue:

MD \TPI\NARDI\COMP2

Si può anche creare un sottodirettorio su una unità non attiva. Ad esempio, se l'unità corrente è C (non importa quale sia il direttorio corrente), si può creare un nuovo direttorio PROVA1 sulla radice del disco nel floppy A usando il comando seguente:

MD A:\PROVA1

Si può utilizzare il comando MD con un qualsiasi percorso assoluto o relativo.

Un direttorio non più necessario può essere eliminato con il comando RD (Remove Directory). Questa operazione è sempre raccomandabile sia per motivi di ordine, sia per motivi di efficienza ed occupazione dello spazio su disco. Una condizione necessaria perchè la cancellazione sia effettuata è che il direttorio da eliminare sia vuoto (cioè non contenga file). Se infatti si specifica il comando RD per un direttorio che contiene ancora dei file, MS/DOS ci avverte che l'operazione non può essere portata a termine.

Prima di eliminare un direttorio occorre quindi assicurarsi che non contenga file.

Supponiamo di aver creato il direttorio PROVA1 come sottodirettorio della radice del disco A, e di aver registrato dei file al suo interno, ma di non aver creato altri subdirettori. Se si desidera cancellare il direttorio occorre eliminare i file contenuti al suo interno e poi utilizzare il comando RD. La prima operazione può essere specificata mediante il comando DEL, già visto. La sequenza di comandi per ottenere l'effetto voluto è la seguente:

DEL A:\PROVA1\*.*

RD A:\PROVA1

Il primo comando specifica la cancellazione dei file contenuti nel direttorio PROVA1, mentre il secondo specifica la cancellazione del direttorio. Si noti come, analogamente a quanto accade per il comando MD, anche con RD è possibile utilizzare nomi assoluti (come nell'esempio) o relativi.

Se, ad esempio, si deve cancellare il direttorio VARI (vedi fig.1.) il cui cammino completo è C:\TPI\VARI, occorre digitare al prompt di MS/DOS:

RD C:\TPI\VARI

comando che sarà eseguito solamente se il direttorio VARI è vuoto.

6. Riepilogo dei principali comandi MS/DOS

DIR

Visualizza l'elenco dei file e dei sottodirettori di un direttorio.

Sintassi: DIR [unità :] [percorso \] [nomefile] [/P] [/W]

MD

Crea un nuovo sottodirettorio.

Sintassi: MD [unità :] percorso

CD

Cambia il direttorio corrente.

Sintassi: CD [unità :] [percorso]

CD [ .. ]

RD

Elimina (rimuove) un direttorio (dopo che sono stati eliminati tutti i file in esso contenuti).

Sintassi: RD [unità :] percorso

MORE

Visualizza il contenuto di un file di testo.

Sintassi: MORE < [unità :] [percorso] nomefile

COPY

Copia uno o più file in un'altra posizione.

Sintassi: COPY origine [destinazione] [/V]

FORMAT

Formatta il disco nell'unità specificata per accettare i file di MS/DOS.

Sintassi: FORMAT unità : [/U] [/F:dimensione] [/S]

DEL

Elimina i file specificati.

Sintassi: [unità :] [percorso] nomefile [/P]

EDIT

Avvia MS/DOS Editor.

Sintassi: EDIT [ [unità :] [percorso] nomefile]