Capitolo – 7
Comandi DOS richiesti
Introduzione
Quando si cerca di recuperare i dati da un disco, l'entità dello sforzo necessario per recuperare la perdita dipende dal caso specifico. In molti casi, è possibile che se abbiamo una conoscenza sufficiente di alcuni importanti comandi DOS (Disk Operating System) , possiamo recuperare i dati con meno sforzo.
In alcuni casi è possibile recuperare i dati senza dover programmare, semplicemente utilizzando questi comandi con una mente intelligente.
Immagino che tu non sappia nulla del DOS e dei suoi comandi. In questo capitolo introduttivo ai comandi DOS, impareremo solo quei comandi che possono aiutarci a recuperare i nostri dati. Per prima cosa, diamo un'occhiata all'evoluzione di MS-DOS.
Breve storia
Il sistema operativo MS-DOS è basato sulla famiglia di microprocessori Intel 8086. MS-DOS si è evoluto da un semplice caricatore di programmi a un sistema operativo complesso e stabile per personal computer.
Sistema operativo Microsoft Disk (MS-DOS) versione 1.0
IBM sviluppò questo computer nei primi anni '80. Microsoft ha sviluppato MS-DOS 1.0. Pubblicato nell'agosto del 1981, era composto da 4.000 righe di codice sorgente in linguaggio assembly e veniva eseguito su 8 kilobyte di memoria.
Poco dopo, nel 1982, fu rilasciata la versione 1.1 di MS-DOS, che supportava i floppy disk bifacciali da 320 KB. Le versioni del DOS vendute da IBM sono chiamate IBM-DOS o PC-DOS.
Versione MS-DOS 2.0
Quando IBM iniziò a sviluppare un disco rigido da 10 megabyte, Microsoft iniziò a lavorare allo sviluppo della versione 2.0 del DOS, progettata per supportare il disco rigido. Fino a quel momento, il DOS 1.0, in linea con la sua tradizione, era stato progettato per l'ambiente floppy disk. Uno dei limiti principali del DOS 1.0 è che la sua directory è limitata a un massimo di 64 file.
La versione 2.0 di MS-DOS è stata progettata per includere un file system strutturato gerarchicamente. L'importanza di un file system gerarchico è che ogni directory può contenere sia file sia altre sottodirectory. I file system gerarchici erano già utilizzati nel sistema operativo UNIX, utilizzato come piattaforma di sviluppo per il sistema operativo MS-DOS/IBM-DOS. In effetti, alcuni dei concetti di base di MS-DOS sono simili a quelli delle controparti UNIX.
Versioni MS-DOS 3.0–5.0
La versione 3.0 fu rilasciata nell'agosto 1984 per supportare IBM PC/AT. La versione 3.1 fu rilasciata nel novembre 1984 e includeva il supporto di rete. La versione 3.2 del gennaio 1986 supportava unità da 3,5 pollici. Nel 1987 seguì la versione 3.3 di IBM, pensata principalmente per supportare la linea di computer IBM PS/2.
Nella versione 3.3 di MS-DOS sono state aggiunte numerose nuove funzioni e comandi. La versione 3.31 di Compaq DOS consentiva partizioni del disco rigido più grandi di 32 megabyte.
La versione 4.01 di MS-DOS legge anche partizioni più grandi di 32 megabyte. Originariamente rilasciato come MS-DOS 4.0, alcuni bug minori hanno portato al rilascio di una versione aggiornata 4.01 con varie correzioni. Questa versione ha aggiunto schermate intere, un'interfaccia basata su menu chiamata DOS SHELL e un supporto aggiuntivo per le specifiche di memoria espansa.
La versione 5.0 è stata sviluppata per sostituire tutte le versioni precedenti del DOS. Con DOS 5.0, sia IBM che Microsoft vendevano lo stesso DOS, perfino la documentazione era simile. I requisiti di memoria sono stati notevolmente ridotti. Sono stati apportati notevoli miglioramenti nel supporto per memoria estesa e aggiuntiva.
L'editor DOS "EDIT" era incluso in questa versione di DOS. DOS SHELL è completamente nuovo. QBASIC è stato introdotto per sostituire BASICA e GWBASIC. Questa versione offriva un modo per recuperare i dati che erano stati persi accidentalmente qualche tempo prima.
Versione MS-DOS 6.0
La versione 6.0 includeva molti nuovi programmi per migliorare le prestazioni del DOS. Tra questi:
- Microsoft Double Space è un programma di compressione del disco integrato che aumenta lo spazio disponibile su disco comprimendo i file.
- Microsoft Mem Maker è un programma di ottimizzazione della memoria che semplifica lo spostamento dei driver dei dispositivi e dei programmi residenti dalla memoria normale all'area di memoria superiore.
- Driver del dispositivo EMM386.EXE migliorato per consentire l'accesso a più blocchi di memoria superiori
- Comandi loadhigh e devicehigh migliorati che consentono di specificare la regione di memoria in cui caricare un programma
- Microsoft Backup, un programma che semplifica il backup dei dati
- Microsoft Anti-Virus, un programma in grado di identificare e rimuovere diversi virus informatici
- Microsoft Undelete, un programma avanzato che consente di scegliere uno o tre livelli di protezione nel caso in cui si elimini accidentalmente un file,
- La possibilità di includere più di una configurazione nel file CONFIG.SYS. La possibilità di ignorare i comandi di avvio quando accendi il computer.
- Guida MS-DOS, un riferimento online completo ai comandi MS-DOS
MS-DOS versione 7.0 (Windows 95)
DOS è fornito con Windows 95 per la retrocompatibilità con le applicazioni DOS e Windows 3.x. Vediamo l'evoluzione di MS – DOS in Windows nella seguente tabella:
Versione MS-DOS |
Note e commenti |
MS-DOS 1.0 |
Primo sistema operativo su IBM PC nel 1981 |
MS-DOS 1.25 |
Aggiunto supporto per dischi bifacciali e correzioni di bug |
MS-DOS 2.0
|
Introdotto con IBM PC/XT nel 1983, con l'aggiunta del supporto per la struttura gerarchica dei file e dei dischi rigidi. |
MS-DOS 2.01 |
2.0 con supporto internazionale |
MS-DOS 2.11 |
2.01 con correzioni di bug |
MS-DOS 2.25 |
Supporto per set di caratteri estesi |
MS-DOS 3.0 |
Aggiunto supporto per floppy disk da 1,2 MB e dischi rigidi più grandi |
MS-DOS 3.1 |
Aggiunto il supporto per le reti Microsoft |
MS-DOS 3.2 |
Aggiunto supporto per dischi da 3,5 pollici |
MS-DOS 3.3 |
Supporto generalizzato per la pagina di codice (font) |
MS-DOS 4.0 |
Supporto per volumi logici superiori a 32 MB e Visual Shell |
Finestre 1.0 |
Interfaccia utente grafica per MS – DOS |
Finestre 2.0 |
Compatibilità con OS/2, Presentation Manager |
Finestre 95 |
Versione usata 4.00.950 |
Windows 95 SE |
Versione usata 4.00.1111 |
Finestre 98 |
Versione usata 4.10.1998 |
Windows 98 seconda edizione |
Versione usata 4.10.2222 |
Windows Millenium |
Versione usata 4.90.3000 |
Finestre NT |
Versione usata 4.0 |
Finestre 2000 |
Versione usata 5.00.2195 |
Windows XP |
Versione usata 5.1.2600 |
Comandi necessari
Impariamo alcuni comandi importanti che potrebbero essere utili quando cerchiamo di recuperare dati tramite tecniche di programmazione e non di programmazione:
ATTRIB
Il comando ATTRIB viene utilizzato per visualizzare, impostare o rimuovere uno o più dei quattro attributi, read-only, archive, system e hidden che possono essere assegnati a file e directory. Viene in genere utilizzato per rimuovere gli attributi read-only, hidden e system in modo che un file possa essere spostato o eliminato o anche per impostarli in modo che non possa essere.
Sintassi:
Per visualizzare le impostazioni degli attributi di tutti i file nella directory corrente:
ATTRIB
Per visualizzare gli attributi di una directory:
Nome directory ATTRIB
Per visualizzare gli attributi di un file:
Nome file ATTRIB
Per impostare o rimuovere gli attributi di un file o di una directory:
ATTRIB [ + | - R] [ + | - A] [ + | - S] [ + | - H] [directory|nomefile] [/S]
+ Imposta un attributo, - Cancella un attributo.
R |
Attributo file di sola lettura. |
UN |
Attributo del file di archivio. |
S |
Attributo del file di sistema |
H |
Attributo file nascosto. |
/S |
Elabora i file in tutte le directory nel percorso specificato. |
L'attributo Read-Only consente di accedere a un file ma non di modificarlo. L'attributo System è normalmente riservato ai file necessari per il corretto caricamento di DOS o Windows. I file e le directory con l'attributo Hidden impostato non vengono normalmente visualizzati negli elenchi di directory o nelle finestre di dialogo Open Files.
Il motivo usuale per nascondere le cartelle è perché sono importanti per il funzionamento del sistema o del programma e non dovrebbero essere eliminate o spostate in operazioni di riordino occasionali. Le cartelle nascoste e di sistema avranno spesso anche l'attributo Read-Only impostato.
È possibile impostare o cancellare più attributi combinando gli switch, separati da spazi. Sebbene sia i file che le directory possano avere attributi assegnati e cancellati usando ATTRIB, ci sono delle differenze nel modo in cui si comportano, la più ovvia delle quali è che i caratteri jolly (? e *) possono essere usati per visualizzare o cambiare gli attributi per un gruppo di file, mentre le directory devono essere nominate per intero. Più avanti in questo capitolo scopriremo in dettaglio i caratteri jolly e le scorciatoie.
Impostando un attributo di file su System, Hidden o Read-Only, si impedirà che il file venga eliminato o spostato usando i comandi DEL, ERASE o MOVE, ma non si proteggeranno i file da DELTREE o FORMAT. Sebbene sia possibile impostare l'attributo Read-Only di una directory, questo sembra avere poca utilità.
Innanzitutto, l'attributo si applica solo alla directory e non ai file in essa contenuti. Anche impostare una cartella in sola lettura non impedisce che venga eliminata, tuttavia in Windows Explorer causerà la visualizzazione di un avviso prima che la cartella venga eliminata o spostata.
Per visualizzare gli attributi di un file denominato "readme":
Leggimi ATTRIB
Per assegnare l'attributo di sola lettura al file "readus.txt", utilizzare:
ATTRIB readus.txt +R
Per rimuovere gli attributi Sistema e Nascosto da "data19.txt":
ATTRIB -S -H data19.txt
Per nascondere la directory "c:\mynotes"
ATTRIB +H c:\mieinote
Per nascondere i file, ma non le directory in C:
ATTRIB +H c:*.*
CD (o CDIR)
Modifica (o visualizza) la directory corrente sull'unità specificata.
Sintassi:
Per visualizzare la directory corrente:
CD [unità:]
Per cambiare la directory corrente:
Percorso CD
Path Cambia la directory corrente in path. Ogni unità ha la sua "directory corrente" che rimane "corrente" finché non viene modificata, quindi cambiare la directory corrente dell'unità c: non influirà sullo stato della directory corrente di nessun'altra unità. Per cambiare la directory corrente su un'unità diversa, basta immettere la lettera dell'unità e i due punti.
Se l'unità corrente è c:, per accedere alla directory "
c:\windows\java"
CD\windows\java
Se la directory corrente è già "c:\windows", tutto ciò che è necessario è:
CD-ROM
Per modificare la directory corrente "c:\windows\java" nella directory padre "c:\windows":
CD..
Supponiamo che tu sia attualmente nella directory "c:\windows\java\notes\klip\", ora se vuoi passare direttamente alla directory di Windows, ti basta aumentare i due punti (..) che abbiamo fatto nel caso precedente, come questo
CD….
Se la directory corrente sull'unità c: è "c:\windows\notes" e la directory corrente sull'unità e: è "e:\movie", allora per copiare tutti i file da "e:\movie" a "c\windows\notes":
COPIA e:*.* c:
Per copiare tutti i file da "e:\downloads" alla directory radice di c:
COPIA e:*.* c:\
Controllo
CHKDSK viene utilizzato per controllare lo stato di un disco, correggere alcuni errori del disco e visualizzare un report di stato che mostra eventuali errori trovati nella tabella di allocazione dei file (FAT) e nella struttura delle directory. CHKDSK visualizza anche un riepilogo dell'utilizzo del disco. Se vengono trovati errori sul disco, CHKDSK visualizza un messaggio di avviso.
Sintassi:
CHKDSK [percorso] [/F] [/V]
Percorso Specifica l'unità e la directory da controllare.
/F Corregge gli errori sul disco.
/V Visualizza il percorso completo e il nome di ogni file sul disco
SCANDISK può rilevare e risolvere in modo affidabile una gamma molto più ampia di problemi del disco ed è generalmente preferito al datato CHKDSK. L'opzione /F (per risolvere eventuali errori trovati) non dovrebbe essere utilizzata mentre è in esecuzione un programma diverso da DOS e CHKDSK stesso.
CHKDSK non può essere utilizzato su unità create tramite SUBST, né può essere utilizzato su unità di rete. In win98, CHKDSK non controlla il disco, sebbene fornisca comunque alcuni dati di base
Non dovresti scansionare il disco con CHKDSK o SCANDISK o qualsiasi altro programma di scansione del disco se il tuo disco è in crash o c'è un errore logico nei tuoi settori di avvio come MBR, DBR, FAT o directory root corrotte. Potrebbero distorcere le informazioni sui tuoi dati e renderne difficile il recupero. Non solo, potresti non recuperare completamente i dati. |
CLS
Cancella lo schermo lasciando solo il prompt dei comandi e il cursore.
Sintassi:
CLS
COMANDO
Avvia una nuova copia dell'interprete dei comandi.
Sintassi:
COMANDO [percorso] [dispositivo] [/Switch]
Percorso Unità e directory contenente command.com. Deve essere specificato a meno che command.com non si trovi nella directory radice.
Dispositivo Dispositivo da utilizzare per l'input e l'output dei comandi. Di default sono la tastiera e il monitor
/P Rende permanente il nuovo interprete dei comandi.
/E:x Imposta la dimensione iniziale dell'ambiente [byte]. x dovrebbe essere impostato tra 256 e 32.768 byte. Il valore predefinito è: 256 byte.
/L:y Lunghezza buffer interni [byte]. y dovrebbe essere impostato tra 128 e 1.024 byte. Questa opzione è accettata solo se l'interprete dei comandi è permanente. Anche l'opzione /P deve essere impostata.
/U:z Lunghezza del buffer di input [byte]. z dovrebbe essere impostato tra 128 e 255 byte. Il valore predefinito è: ? Questa opzione è accettata solo se l'interprete dei comandi è permanente. Anche l'opzione /P deve essere impostata.
/MSG Memorizza tutti i messaggi di errore in memoria. Questa opzione è accettata solo se l'interprete dei comandi è permanente. Anche l'opzione /P deve essere impostata.
/LOW Forza COMANDO a mantenere la memoria bassa
/Y Esegue i passaggi del programma batch specificato da /C o /K
/C comando Esegue il comando ed esce. Deve essere l'ultimo parametro sulla riga di comando.
/K comando Esegue il comando e continua l'esecuzione. Deve essere l'ultimo parametro sulla riga di comando.
COPIA
L'uso principale di COPY è copiare uno o più file in un'altra posizione, ma può essere utilizzato anche per combinare (aggiungere e concatenare) file e per digitare direttamente su un file, una stampante o un altro dispositivo.
Sintassi:
COPIA [/A | /B] origine [/A | /B] [+ origine [/A | /B] [+ ...]]
[destinazione [/A | /B]] [/V] [/Y | /-Y]
origine Il/i file da copiare. Sebbene questo debba essere un singolo parametro, può includere più file specificati utilizzando caratteri jolly (* o ?). Può anche essere un dispositivo valido (ad esempio CON)
come COPIA CON NOTES.TXT
ora scrivi o copia il testo e esci premendo il tasto Ctrl+Z.
destinazione La directory e/o il nome file per i nuovi file. Se destinazione non è specificata origine viene copiata nella directory corrente con lo stesso nome e data di creazione dell'originale. Se origine è nella directory corrente, viene visualizzato un messaggio di errore che indica che "il file non può essere copiato in se stesso".
file /A Forza COPY a trattare il file come un file di testo ASCII.
file /B Forza COPY a trattare il file come un file binario.
/V Verifica che i nuovi file possano essere letti.
/Y Nessun messaggio di avviso prima di sovrascrivere un file.
/-Y Visualizza un avviso e richiede conferma prima di sovrascrivere un file.
Quando utilizzato dalla riga di comando, se un file specificato in destinazione esiste già nella posizione specificata, COPY, per impostazione predefinita, visualizzerà un messaggio di avviso e richiederà conferma prima di sovrascrivere il vecchio file. D'altro canto, quando COPY viene utilizzato in un file batch, tutti i file esistenti verranno sovrascritti senza avviso.
Questo comportamento predefinito può essere modificato preimpostando l'opzione /Y | /-Y nella variabile d'ambiente COPYCMD e annullato utilizzando l'opzione /Y | /-Y sulla riga di comando.
COPY non copia i file lunghi 0 byte; invece, li elimina. Usa XCOPY per copiare questi file. Source e/o Destination possono essere un dispositivo appropriato (come CON, COMx o LPTx dove x è 1,2,3 ecc.) piuttosto che un file.
A seconda del contesto, Copy tratta i file come file binari o file di testo ASCII. Per impostazione predefinita:
- Quando si copiano file da una posizione a un'altra (ASCII o meno), COPY presuppone la modalità binaria,
- Quando si concatenano i file, COPY assume la modalità ASCII,
- Quando l'origine o la destinazione è un dispositivo (diverso da un disco), la copia assume la modalità ASCII.
Quando si opera in modalità binaria, COPY determina la posizione iniziale del file dalla tabella di allocazione dei file e copia il numero di byte allocati a quel file da quel punto.
In modalità ASCII, i dati vengono copiati finché non viene raggiunto un carattere End-Of-File (carattere ASCII n. 26; Ctrl-Z). Questo carattere NON viene copiato, ma COPY aggiunge un carattere EOF prima di chiudere il nuovo file.
Questa procedura contorta consente a COPY di concatenare file e di lavorare con input non file (come la tastiera). Nelle poche occasioni in cui la modalità predefinita è inappropriata, può essere ignorata aggiungendo l'opzione /A o /B ai file di origine e/o di destinazione, come richiesto.
Per copiare "note.txt" dall'unità e dalla directory correnti nella directory "mynotes":
COPIA nota.txt c:\mienote
O
COPIA nota.txt c:\mienote\
Nel primo caso, se la directory "mynotes" non esiste, "note.txt" viene copiato in un file denominato "mynotes" nella directory radice dell'unità C. Nel secondo caso, verrà visualizzato un messaggio di errore "Directory non valida". Per copiare tutti i file nella directory "mynotes" in una directory denominata "mynotes backup" sull'unità D:
COPIA c:\mynotes\*.* d:\mynotes backup\
Per creare una copia di "note.txt" nell'unità e nella directory correnti e chiamarla "programma note.txt"
COPIA note.txt "programma note.txt"
DEBUG
DEBUG è un metodo per esaminare parti del computer e scrivere codice assembly per eseguire determinate attività sul computer. MS-DOS 2.x - 4.x utilizzava DEBUG.COM e MS-DOS 5.x e successivi utilizzavano DEBUG.EXE per questo.
DEBUG.EXE è uno di quei piccoli programmi che, nelle mani di un utente esperto, è uno strumento incredibilmente potente con cui si può visualizzare e modificare il contenuto della memoria sia a breve termine (RAM) che a lungo termine (supporti hard/floppy/nastro). Si può anche compilare (e, fino a un certo punto, decompilare) codice in linguaggio assembly.
DEBUG è un editor di byte che consente di visualizzare e modificare i file a livello di byte. È generalmente consigliato in quanto non esiste un comando "annulla", quindi esegui un backup prima di giocarci. Assicurati di sapere cosa stai facendo quando utilizzi l'utilità DEBUG.
Questo è un potente strumento di programmazione che può essere utilizzato per accedere al computer a livello hardware. Se non si presta attenzione, si potrebbero causare danni come la cancellazione del disco rigido o il blocco della tastiera.
Sintassi:
DEBUG [nome file]
DEBUG [[unità:] [percorso] nomefile [parametri-file-di-test]]
[unità:][percorso]nomefile Specifica il file che si desidera testare.
testfile-parameters Specifica le informazioni della riga di comando richieste dal file che si desidera testare.
Come avviare DEBUG
DEBUG può essere avviato in due modi.
Metodo uno:
Al prompt del DOS digita
DEBUG (ritorna)
DEBUG risponderà con il prompt trattino (-). Quando appare il prompt, DEBUG attende che tu inserisca uno dei suoi numerosi comandi di una lettera. Avviare DEBUG in questo modo ti consentirà di lavorare sull'hardware interno del computer e visualizzare il contenuto di tutte le posizioni di memoria nella RAM. Puoi anche caricare fino a 128 settori di un floppy o di un disco rigido e visualizzare, modificare o spostare il contenuto in un'altra posizione.
DEBUG imposta un'area di lavoro in memoria di 65.535 (decimali) posizioni da un byte che equivalgono a FFFF byte in esadecimale. I primi 256 (decimali) o 100 byte esadecimali di quest'area sono riservati a quello che viene chiamato Program Segment Prefix (PSP) di un programma e non devono essere alterati in alcun modo. Ogni volta che carichiamo settori o dati in memoria con DEBUG, devono essere inseriti in una posizione che inizia con l'offset 100.
Un esempio di comando di debug è mostrato nella riga seguente.
DEBUG
L 0100 0 0 80 (ritorno)
In questo comando, diciamo a debug di caricare nella memoria, a partire dall'offset 100, 80 settori (esadecimali) dall'unità A, a partire dal settore 0. 80 settori esadecimali equivalgono a 128 settori decimali, quindi se ogni settore sul disco memorizza 512 byte, il numero totale di byte caricati nella memoria è (512 X 128) o 65.540 byte (massimo).
Metodo due:
Al prompt del DOS digita
DEBUG \percorso\nomefile (ritorna)
DEBUG si caricherà quindi nella memoria insieme al file specificato nel campo percorso e nome file della riga di comando e posizionerà il primo byte del file all'offset 100 dell'area di lavoro.
Avviando DEBUG in questo modo, siamo in grado di visualizzare, modificare o spostare un programma COM o un file di testo ASCII. Questo è un modo molto comodo per effettuare il DEBUG o correggere un programma COM.
MS-DOS consentirà l'esecuzione di solo due tipi di programmi sotto il suo controllo e devono terminare con le estensioni EXE o COM. La differenza tra questi due tipi di programmi sta nel modo in cui DOS gestisce le parti di manutenzione del programma.
Quest'area di manutenzione, spesso chiamata Program Segment Prefix (PSP), è un blocco di memoria da 256 byte che deve essere accantonato dal programma ed è necessario al DOS per restituire il controllo al sistema operativo quando il programma termina.
Senza entrare troppo nei dettagli, sottolineeremo la differenza principale tra queste due tipologie di programmi.
Estensione COM
I programmi COM sono programmi molto piccoli e compatti che non possono essere più grandi di 65K byte. Il PSP di un programma COM si trova nelle prime 100 posizioni Hex (256 Dec) del programma. La prima istruzione del programma COM deve iniziare all'offset 100 in memoria.
DOS crea il PSP per il programma COM, il che significa che non dobbiamo preoccuparcene quando assembliamo un programma. Tutti i dati, il codice e l'area dello stack sono nello stesso segmento di memoria (1 segmento è 64K).
Estensione EXE
I programmi EXE possono avere qualsiasi dimensione da 200 byte a 640 k byte. Il PSP deve essere impostato dal programmatore, quando il programma viene assemblato. Il programmatore determina dove si trova la prima istruzione nel programma. Il programma EXE utilizza segmenti separati per i dati, il codice e l'area di stack in memoria.
Dal confronto delle proprietà dei file EXE e COM, puoi vedere che è molto più difficile assemblare un programma EXE rispetto a un programma COM. Il programma di utilità di debug è stato progettato per funzionare solo con un programma COM impostando l'area PSP ogni volta che entriamo in debug.
Una volta in DEBUG, possiamo iniziare l'assemblaggio di un programma all'offset 100 e non preoccuparci di PSP o di dove si trovano i dati, il codice e lo stack. È possibile guardare un programma EXE con DEBUG se rinominiamo il programma con un'estensione diversa prima di caricarlo in memoria.
Dopo l'avvio di DEBUG, digita ? per visualizzare un elenco di comandi di debug. Per uscire da DEBUG devi premere "Q" e poi Invio. Per eseguire la routine DEBUG devi premere "G" e poi Invio.
Vediamo un esempio:
DEBUG <ritorno>
D40:00 <ritorno>
Verranno visualizzate informazioni sulle porte del computer; se una porta è assente o non risponde, lo stato di tale porta verrà visualizzato come 00.
Ora digita Q per tornare indietro.
Q <ritorno>
Una volta chiamato DEBUG, viene visualizzato il "prompt DEBUG" un po' criptico, un trattino (-). Al prompt, sono validi i seguenti "comandi DEBUG":
Comando |
Parametri |
Azione |
? |
|
Questo elenco di comandi DEBUG. |
UN |
[indirizzo] |
assemblare |
C |
indirizzo di intervallo |
Confrontare |
D |
[indirizzo di partenza [indirizzo di arrivo | intervallo L]] |
Visualizza un segmento di memoria. Per impostazione predefinita, l'indirizzo di avvio è l'offset 100 del primo segmento di memoria libero, oppure l'offset 100 del segmento contenente un file caricato da DEBUG. L' indirizzo di fine predefinito è 017F (un intervallo di 128 byte). |
E |
indirizzo [elenco] |
Entrare |
F |
elenco di intervallo |
Riempire |
G |
[=indirizzo] [indirizzi] |
Andare |
H |
valore1 valore2 |
Esagono |
IO |
Porta |
Ingresso |
L |
- |
Carica un file precedentemente "denominato" (tramite comando N) nella memoria, dove può essere visualizzato/modificato. |
L |
Numero |
Utilizzato con comandi che accettano un argomento "range" per indicare un numero di byte. Solitamente utilizzato in argomenti come: start address L number . Se number deve portare end address oltre la fine del segmento, allora number viene troncato in modo che end address sia l'ultimo byte del segmento. |
M |
indirizzo di intervallo |
Mossa |
N |
[percorso] nome file [lista argomenti] |
"Nomina" un file per DEBUG. Un file deve essere "nominato" prima di poter essere caricato per la visualizzazione/modifica. |
IL |
porta byte |
Produzione |
P |
[=indirizzo] [numero] |
Procedere |
Q |
|
Esci da DEBUG. |
R |
[registro] |
Registro |
S |
elenco di intervallo |
Ricerca |
T |
[=indirizzo] [valore] |
Traccia |
IN |
[allineare] |
Non assemblato |
IN |
[indirizzo] [unità] [primo settore] [numero] |
Scrivere |
Scià |
[#pagine] |
Assegnare memoria espansa |
XD |
[maniglia] |
deallocare la memoria espansa |
XM |
[Lpage] [Ppage] [handle] |
Mappa pagine di memoria espanse |
Taglia XS |
|
Visualizza lo stato della memoria espansa |
DEL (o CANCELLA)
Elimina i file denominati. DEL e ERASE sono sinonimi.
Sintassi:
Per eliminare un file:
DEL [percorso] nome file [/P]
Nome file Nome del file da eliminare.
/P Forza la conferma prima di eliminare ogni file.
Per eliminare tutti i file in una directory con conferma:
DEL percorso o
DEL percorso \*.*
Per eliminare tutti i file in una directory senza conferma:
sentiero\?*.*
DEL accetta solo un parametro che specifica cosa deve essere eliminato. Tuttavia questo parametro può essere scritto usando caratteri jolly in modo che vengano eliminati più file. Se viene rilevato più di un parametro, il comando si interrompe e viene visualizzato un messaggio di errore.
DEL verrà interpretato con un nome di file lungo con spazi come parametri multipli, causando un errore. Racchiudere il nome di file lungo con spazi tra virgolette risolve il problema. Vediamo un esempio:
D:\>del nota 2.txt
Troppi parametri - 2.txt
D:\>del "nota 2.txt"
D:\>_
DEL non elimina i file che hanno attributi di sola lettura, nascosti e/o di sistema impostati. Per eliminare tali file, si può usare DELTREE o modificare gli attributi necessari con il comando ATTRIB.
DELTREE
Elimina file e directory, nonché tutte le sottodirectory e i file in essi contenuti.
Sintassi:
Per eliminare una directory e tutte le sottodirectory e i file in essa contenuti:
Elenco dei componenti [/Y]
directory La directory da eliminare.
/Y Sopprime le richieste di conferma prima dell'eliminazione.
Per eliminare tutti i file e le sottodirectory ma lasciare la directory stessa:
DELTREE [/Y] directory\*.*
Per eliminare un file:
DELTREE [/Y] nome file
Il comando DELTREE elimina tutti i file contenuti in una directory o sottodirectory, indipendentemente dal fatto che siano contrassegnati come nascosti, di sistema o di sola lettura.
Il comando DELTREE supporta i caratteri jolly, ma vanno usati con cautela. Se si specifica un carattere jolly che corrisponde sia ai nomi delle directory che ai nomi dei file, verranno eliminati sia le directory che i file.
Prima di specificare i caratteri jolly con il comando DELTREE, usa il comando DIR /A per visualizzare i file e le directory che eliminerai. È anche più sicuro specificare il percorso completo per evitare sorprese da specifiche ambigue. Vediamo alcuni esempi.
Per eliminare la directory NOTES sull'unità C, inclusi tutti i file e le sottodirectory della directory NOTES:
DELTREE c:\note
Per eliminare tutti i file e le sottodirectory nella directory NOTES lasciando una directory NOTES vuota per un uso futuro ed evitando la richiesta di conferma:
ELIMINA ALBERO /Y c:\note\*.*
Per eliminare il file di sola lettura retrieve.doc nella directory c:\data senza reimpostare gli attributi:
DELTREE /Y c:\dati\recupera.doc
DOSCHIETTO
DOSKEY è un TSR progettato per facilitare il lavoro dalla riga di comando, semplificando la modifica della riga di comando, ricordando i comandi precedenti e consentendo di registrare macro.
Sintassi:
Per caricare DOSKEY:
DOSKEY [/Interruttori]
Interruttori |
cosa fa |
/B: xxx |
Imposta la dimensione del buffer per macro e comandi. Il valore minimo di xxx è 256 e il valore predefinito è 512 (byte). Se DOSKEY è già in esecuzione, deve essere ricaricato (con /R) quando si modifica la dimensione del buffer. |
/E:Acceso|Spento |
Abilita|Disabilita la visualizzazione dei comandi quando viene riprodotta una macro. E (Echo) è attivato per impostazione predefinita. |
/F:nomefile |
Recupera il nome file : un file di testo contenente un elenco di macro nel formato NomeMacro=Testo |
/H |
Visualizza tutti i comandi memorizzati nella memoria. (Questo elenco non verrà reindirizzato a un file). |
/io|io |
Specifica se il testo viene immesso in modalità Inserisci o Sovrascrittura per impostazione predefinita. In entrambi i casi, la modalità alternativa può essere selezionata utilizzando <Inserisci>, ma quella predefinita viene reimpostata non appena viene utilizzato <Invio>. La modalità predefinita è Sovrascrittura. |
/K: xx |
Imposta la dimensione del buffer di digitazione anticipata della tastiera. Il valore predefinito è 15 (caratteri). Se DOSKEY è già in esecuzione, deve essere ricaricato (con /R) quando si modifica la dimensione del buffer. |
/L |
Imposta la dimensione massima del buffer di modifica della riga. Il valore predefinito è 128 (caratteri). |
/M |
Visualizza un elenco di tutte le macro DOSKEY attualmente presenti nel buffer. Questo elenco può essere reindirizzato a un file di testo utilizzando il reindirizzamento Dos standard (>) |
/R |
Installa una nuova istanza di DOSKEY. Se DOSKEY è già in esecuzione, il buffer viene cancellato da entrambe le macro e dalla cronologia della riga di comando. Nota che l'installazione di una nuova istanza di DOSKEY non rimuove l'istanza precedente. Quindi ogni utilizzo di /R occupa altri 5K di memoria convenzionale/superiore. |
Nome macro |
Il nome della macro. Questa è una stringa di uno o più caratteri eventualmente modificati dai tasti Ctrl e/o Alt. |
Testo |
La stringa di testo da assegnare a Macroname . In genere sarà uno o più comandi DOS insieme ai parametri e/o switch appropriati. |
Per creare una macro DOSKEY:
DOSKEY Nome macro=Testo
Per eseguire una macro:
Nome macro
Interruttori |
cosa fa |
/B: xxx |
Imposta la dimensione del buffer per macro e comandi. Il valore minimo di xxx è 256 e il valore predefinito è 512 (byte). Se DOSKEY è già in esecuzione, deve essere ricaricato (con /R) quando si modifica la dimensione del buffer. |
/E:Acceso|Spento |
Abilita|Disabilita la visualizzazione dei comandi quando viene riprodotta una macro. E (Echo) è attivato per impostazione predefinita. |
/F:nomefile |
Recupera il nome file : un file di testo contenente un elenco di macro nel formato NomeMacro=Testo |
/H |
Visualizza tutti i comandi memorizzati nella memoria. (Questo elenco non verrà reindirizzato a un file). |
/io|io |
Specifica se il testo viene immesso in modalità Inserisci o Sovrascrittura per impostazione predefinita. In entrambi i casi, la modalità alternativa può essere selezionata utilizzando <Inserisci>, ma quella predefinita viene reimpostata non appena viene utilizzato <Invio>. La modalità predefinita è Sovrascrittura. |
/K: xx |
Imposta la dimensione del buffer di digitazione anticipata della tastiera. Il valore predefinito è 15 (caratteri). Se DOSKEY è già in esecuzione, deve essere ricaricato (con /R) quando si modifica la dimensione del buffer. |
/L |
Imposta la dimensione massima del buffer di modifica della riga. Il valore predefinito è 128 (caratteri). |
/M |
Visualizza un elenco di tutte le macro DOSKEY attualmente presenti nel buffer. Questo elenco può essere reindirizzato a un file di testo utilizzando il reindirizzamento Dos standard (>) |
/R |
Installa una nuova istanza di DOSKEY. Se DOSKEY è già in esecuzione, il buffer viene cancellato da entrambe le macro e dalla cronologia della riga di comando. Nota che l'installazione di una nuova istanza di DOSKEY non rimuove l'istanza precedente. Quindi ogni utilizzo di /R occupa altri 5K di memoria convenzionale/superiore. |
Nome macro |
Il nome della macro. Questa è una stringa di uno o più caratteri eventualmente modificati dai tasti Ctrl e/o Alt. |
Testo |
La stringa di testo da assegnare a Macroname . In genere sarà uno o più comandi DOS insieme ai parametri e/o switch appropriati. |
Per creare una macro DOSKEY:
DOSKEY Nome macro=Testo
Per eseguire una macro:
Nome macro
Comandi DOSKEY |
Cosa fa |
Cursore sinistro/destro |
Sposta il cursore avanti/indietro di un carattere. |
Ctrl + cursore sinistro/destro |
Sposta il cursore avanti/indietro di una parola. |
Home/Fine |
Sposta il cursore all'inizio/fine della riga. |
Cursore su/giù |
Per scorrere verso l'alto (e indietro) nell'elenco dei comandi memorizzati. Ogni pressione del tasto "su" richiama il comando precedente e lo visualizza sulla riga di comando. |
Pagina su/giù |
Richiama il comando più vecchio/più recente nel buffer |
Formula 1 |
Copia il carattere successivo dal modello alla riga di comando |
F2 + tasto |
Copia il testo dal modello fino alla chiave (esclusa) . |
La F3 |
Copia il modello dalla posizione attuale del carattere alla riga di comando. |
F4 + tasto |
Elimina i caratteri dalla posizione corrente fino al tasto (escluso) . |
F5 |
Copia il comando corrente nel modello e cancella la riga di comando. |
F6 |
Inserisce un carattere di fine file (^Z) nella posizione corrente della riga di comando. |
F7 |
Visualizza un elenco numerato della cronologia dei comandi. |
Alt-F7 |
Elimina tutti i comandi memorizzati nel buffer. |
Caratteri + F8 |
Inserendo uno o più caratteri Chars seguito da F8 verrà visualizzato il comando più recente che inizia con Chars . Premendo nuovamente F8 verrà visualizzato il comando successivo più recente che inizia con Chars , e così via. |
F9 + Comando# |
Visualizza il comando designato sulla riga di comando. |
Alt-F10 |
Elimina tutte le definizioni macro. |
Per eliminare una macro:
Nome macro DOSKEY=
Caratteri speciali DOSKEY
I seguenti caratteri speciali possono essere utilizzati nelle macro per controllare le operazioni dei comandi:
Caratteri |
Cosa fa? |
$soldi |
Reindirizza l'output – equivalente al simbolo di reindirizzamento > |
$G$G |
Aggiunge l'output alla fine di un file, equivalente al simbolo di aggiunta >> |
$L |
Reindirizza l'input - equivalente al simbolo < |
$miliardo |
Invia l'output della macro a un comando, equivalente al simbolo della barra verticale | |
$T |
Separa i comandi durante la creazione di macro o la digitazione di comandi sulla riga di comando DOSKEY |
$$ |
Utilizzare per il segno $ |
Da $ 1 a $ 9 |
Rappresenta tutti i parametri della riga di comando che possono essere specificati quando la macro viene eseguita. Comparabile con i caratteri da %1 a %9 nei programmi batch |
$* |
Rappresenta le informazioni della riga di comando che possono essere specificate quando viene scritto macroname. $* è simile ai parametri sostituibili $n, tranne per il fatto che tutto ciò che viene digitato sulla riga di comando dopo macroname viene sostituito con $* nella macro. |
VOI
Visualizza l'elenco dei file e delle sottodirectory in una directory.
Sintassi:
DIR [unità:] [percorso] [nome file] [/Switch]
Interruttore |
Che cosa fa? |
nessuno |
Per impostazione predefinita, DIR visualizza:
- un'intestazione comprendente l'etichetta del volume del disco e il numero di serie;
- un elenco di tutti i file e sottodirectory nella directory corrente nell'ordine in cui sono elencati nel FAT, eccetto quelli contrassegnati come "nascosti" e/o "sistema". Insieme a ogni file/directory, sono riportate le sue dimensioni, la data/ora dell'ultima modifica e il nome lungo del file;
- un piè di pagina contenente il numero totale dei file elencati, la loro dimensione cumulativa e lo spazio libero (in byte) rimanente sul disco.
|
/A [attributi] |
Visualizza i file con e senza attributi specificati. È possibile specificare più attributi senza spazi tra di loro.
attributi (utilizzando "-" come prefisso si specifica "not")
D Directory
R File di sola lettura
H File nascosti
A File modificati dall'ultimo backup
S File di sistema |
/O
[ordinamento] |
Elenca i file in ordine ordinato.
Se l'ordine di ordinamento non è specificato, le directory sono elencate in ordine alfabetico seguite dai file, anch'essi elencati in ordine alfabetico. È possibile specificare qualsiasi combinazione di chiavi di ordinamento e i file saranno ordinati in base alle chiavi.
sortorder (utilizzando " - " come prefisso si inverte l'ordine)
N Per nome (alfabetico)
S Per dimensione (prima la più piccola)
E Per estensione (alfabetica)
D Per data e ora (prima la più vecchia)
G Raggruppa le directory per prime
A Per data dell'ultimo accesso (prima la più vecchia) |
/S |
Visualizza i file nella directory specificata e in tutte le sue sottodirectory |
/IN |
Formato elenco ampio. I nomi dei file e delle directory sono elencati in 5 colonne |
/B |
Formato nudo. I file e le directory sono elencati in una singola colonna senza intestazione, riepilogo o dettagli. |
/L |
L'output è in minuscolo. |
/P |
Si ferma con ogni schermata, piena di informazioni. Premi un tasto qualsiasi per vedere la schermata successiva. |
/Verso |
Forza la modalità Verbose. Questa visualizza attributi, data dell'ultimo accesso e spazio su disco allocato per ogni file, oltre alle informazioni standard. |
/CON |
I nomi di file lunghi non vengono visualizzati nell'elenco dei file. |
/4 |
Visualizza la data con quattro cifre anziché due. |
Il comando DIR accetta solo un percorso come parametro. I nomi lunghi di file e directory che includono uno spazio devono essere racchiusi tra virgolette. Puoi anche usare caratteri jolly come * e ? per visualizzare un elenco di un sottoinsieme di file e sottodirectory.
DIR può essere utilizzato con le scorciatoie standard punto (.) per mostrare directory di livello superiore. Se vengono utilizzati più punti di quelli richiesti per mostrare la directory radice, le directory e i file.
Quando si usa il reindirizzamento per inviare l'output del comando DIR a un file o a un altro comando, è spesso utile usare /A:-D per elencare solo i file e /B per evitare informazioni estranee come dimensioni dei file, intestazioni e informazioni di riepilogo. Inoltre, quando l'output di un comando DIR viene reindirizzato tramite una pipe, viene creato un file temporaneo che viene automaticamente eliminato una volta completata l'operazione.
Per impostazione predefinita, questo file temporaneo si trova nella directory specificata dalla variabile ambientale "TEMP" ma, se questa non è specificata o non può essere trovata, verrà creato nella directory corrente dell'unità corrente. Se anche il comando DIR fa riferimento alla directory corrente, tutti questi file temporanei verranno selezionati e inclusi nell'elenco.
COPIA DEL DISCO
DISKCOPY è utilizzato per duplicare i floppy disk. Tutti i dati sul disco di destinazione vengono sovrascritti.
Sintassi:
DISKCOPY unità1: [unità2:] [/1] [/V] [/M]
drive1 Unità contenente il disco da e verso cui copiare, se il computer ha una sola unità floppy.
unità2 Unità contenente il disco su cui copiare, se diversa dall'unità1.
/1 Copia solo il primo lato del disco.
/V Verifica che le informazioni siano state copiate correttamente.
/M Forza la copia multi-pass utilizzando solo la memoria.
DISKCOPY è progettato per duplicare floppy disk standard eseguendo una copia byte per byte del disco sorgente sul disco di destinazione. DISKCOPY non funziona con hard disk, CD, unità di rete o unità di tipo Zip, Jazz, ecc. Inoltre, è opportuno tenere presente che i dischi sorgente e destinazione devono essere dello stesso tipo, dimensione e capacità. In caso contrario, viene visualizzato un messaggio di errore:
MODIFICARE
Si tratta di un semplice editor di testo ASCII DOAS a schermo intero.
Sintassi
MODIFICA [/B] [/H] [/R] [/S] [/nnn] [nome/i file]
/B Forza la modalità monocromatica.
/H Visualizza il numero massimo di righe possibile per l'hardware in uso.
/R Carica i file in modalità di sola lettura.
/S Forza l'uso di nomi di file brevi.
nnn Carica i file binari, suddividendo le righe in nnn caratteri di larghezza.
filename(s) Specifica il/i file iniziale/i da caricare. È possibile utilizzare anche i caratteri jolly.
Per visualizzare l'elenco dei tasti di scelta rapida, è possibile consultare il menu "Aiuto" dell'editor.
USCITA
Nel caso di DOS in ambiente Windows, il comando EXIT viene utilizzato per uscire dalla shell DOS, altrimenti, in generale, esce dall'interprete dei comandi MS-DOS (COMMAND.COM) e torna al programma che ha avviato l'interprete dei comandi, se ne esiste uno.
Sintassi
USCITA
FC
Confronta due file o insiemi di file e visualizza le differenze tra di essi.
Sintassi:
FC [/Interruttori] file1 file2
Interruttore |
Cosa fa |
/B |
Esegue un confronto binario.
I due file vengono confrontati byte per byte e non c'è alcun tentativo di risincronizzare i file dopo aver trovato una mancata corrispondenza. Questa è la modalità predefinita per confrontare i file quando file1 ha un'estensione di .EXE, .COM, .SYS, .OBJ, .LIB e .BIN o simili. |
/L |
Confronta i file come ASCII.
I due file vengono confrontati riga per riga e FC tenta di risincronizzare i file dopo aver trovato una mancata corrispondenza. Questa è la modalità predefinita per confrontare i file quando file1 non ha un'estensione di .EXE, .COM, .SYS, .OBJ, .LIB e .BIN o simili. |
/LBn |
Imposta il numero di righe per il buffer di riga interno.
Se i file confrontati hanno più di questo numero di righe consecutive diverse, FC annulla il confronto. Il valore predefinito di n è 100 |
/nn |
Il numero di righe consecutive che devono corrispondere prima che i file siano dichiarati risincronizzati. Se il numero di righe corrispondenti nei file è inferiore a questo numero, le righe corrispondenti vengono visualizzate come differenze. Valore predefinito di nn : 2. |
/N |
Visualizza i numeri di riga in un confronto ASCII. |
/UN |
Abbrevia l'output di un confronto ASCII. Vengono visualizzate solo la prima e l'ultima riga per ogni set di differenze, anziché il valore predefinito di ogni riga diversa. |
/C |
Non tiene conto delle maiuscole e delle minuscole. |
/T |
Non espande le tabulazioni in spazi.
Per impostazione predefinita, le tabulazioni sono trattate come spazi con 1 tabulazione = 8 spazi. |
/IN |
Comprime le tabulazioni e gli spazi multipli in un unico spazio per il confronto. |
Se file1 include un carattere jolly, tutti i file applicabili vengono confrontati con file2. Se file2 include anche un carattere jolly, viene confrontato con il corrispondente file1. Nella maggior parte dei casi, i file binari vengono confrontati per vedere se sono uguali o meno. Per vedere semplicemente se due file binari sono identici, spesso è più rapido confrontarli come file ASCII usando l'opzione /LB1 per ridurre al minimo l'output.
Vediamo un esempio delle differenze significative nei tempi di elaborazione. Provando i seguenti esempi sarai in grado di capire come usare FC in modo rapido e veloce:
FC c:\windows\comando\xcopy.exe c:\windows\comando\attrib.exe
FC c:\windows\comando\xcopy.exe c:\windows\comando\attrib.exe /L
FC c:\windows\comando\xcopy.exe c:\windows\comando\attrib.exe /L /LB1
Disco rigido
FDISK è un'utilità guidata da menu utilizzata per configurare e/o visualizzare informazioni sulle partizioni su un disco rigido. Dovresti sapere cosa stai facendo nell'ambiente FDISK e dovresti essere sicuro di farlo altrimenti potrebbe eliminare o modificare le informazioni delle tue partizioni e potresti subire la perdita di partizioni, ovvero dati.
Prima che un disco rigido possa essere riconosciuto da DOS, deve essere stabilito un Master Boot Record (MBR). FDISK è l'utilità MS-DOS utilizzata per creare un MBR definendo la dimensione e la natura delle partizioni di un disco rigido. L'MBR definisce le aree del disco come:
- Una partizione primaria e/o
- Una partizione estesa
Una partizione estesa deve essere designata come contenente una o più unità logiche DOS. Se rimuovi le partizioni, distruggerai tutto ciò che contengono o, come minimo, renderai molto difficile il recupero di qualsiasi dato. Impareremo di più su Fdisk nella sezione Programmazione di ripristino di questo libro.
TROVARE
Il comando FIND viene utilizzato per cercare una stringa di testo in un file o più file. Dopo aver cercato i file specificati, FIND visualizza tutte le righe di testo che contengono la stringa.
Sintassi:
TROVA [/V] [/C] [/N] [/I] "stringa" "nomefile1" "nomefile2" "nomefile ..."
Interruttore |
Cosa fa |
/Verso |
Visualizza tutte le righe NON contenenti la stringa specificata. |
/C |
Visualizza solo un conteggio delle righe contenenti la stringa. Se utilizzato con /V , FIND visualizza un conteggio delle righe che non contengono la stringa specificata. |
/N |
Visualizza i numeri di riga con le righe. Se /C e /N vengono usati insieme, /N viene ignorato. |
/IO |
Ignora le maiuscole/minuscole dei caratteri nella stringa . Per impostazione predefinita, FIND è sensibile alle maiuscole/minuscole e cerca una corrispondenza esatta dei caratteri. |
corda |
La stringa di testo da trovare. La stringa deve essere tra virgolette. |
nome del file |
I file da ricercare. Se il nome del file non contiene spazi, non è necessario racchiuderlo tra virgolette. |
Se filename non è specificato, FIND cerca l'input di testo dalla sorgente standard che di solito è la tastiera, una pipe o un file reindirizzato. I caratteri jolly non sono accettati in filename. Inoltre, poiché le virgolette sono utilizzate per delimitare la stringa, non possono essere utilizzate all'interno della stringa come parte del modello di ricerca.
Per includere le virgolette all'interno di una stringa, è necessario utilizzare il "carattere speciale" delle virgolette doppie ("") che FIND interpreta come virgolette nella stringa di ricerca. Vediamo alcuni esempi:
Per visualizzare tutte le righe del file "NOTES.TXT" che contengono la stringa "homework":
TROVA "compiti" notes.txt
Se la stringa contiene virgolette, queste devono essere raddoppiate:
TROVA "Il risultato di ""BE Final year"" non è stato visualizzato." Result.doc
FORMATO
Formatta un disco per l'uso con MS-DOS. Ricorda sempre che i dati memorizzati nel disco saranno cancellati dopo la formattazione. Fai attenzione e assicurati prima di usare il comando format e ricorda sempre di vedere quale lettera di unità stai inserendo nel comando FORMAT.
Sintassi:
FORMAT unità: [/Switch]
Interruttore |
Cosa fa |
/V[:etichetta] |
Specifica un'etichetta di volume. Se l'opzione /V viene omessa o l'etichetta non viene specificata, viene visualizzata una richiesta di etichetta di volume al termine della formattazione. Se non è richiesta alcuna etichetta di volume, è possibile evitare la richiesta specificando: /V:""
Se viene specificata un'etichetta e più di un disco viene formattato in una sessione, a tutti i dischi verrà assegnata la stessa etichetta di volume. |
/Q |
Forza la formattazione rapida di un disco formattato in precedenza. La tabella di allocazione file (FAT) e la directory radice del disco vengono eliminate, ma non vengono analizzate aree danneggiate. |
/S |
Copia i file di sistema sul disco formattato per trasformarlo in un disco di avvio. |
/B |
Assegna spazio sul disco formattato per i file di sistema. |
/F:dimensione |
Formatta un disco a una capacità diversa da quella per cui è stato progettato il drive. Le dimensioni possono essere: 360, 720, 1.2, 1.44 e 2.88. |
/T:tracce |
Specifica il numero di tracce per lato del disco. |
/N:settori |
Specifica il numero di settori per traccia. |
/1 |
Formatta un singolo lato di un floppy disk. |
/4 |
Formatta un floppy disk da 5,25 pollici e 360K in un'unità ad alta densità. |
/8 |
Formatta otto settori per traccia |
/C |
Esegue il test dei cluster attualmente contrassegnati come "non validi". Per impostazione predefinita, se un disco contiene cluster contrassegnati come "non validi", FORMAT non esegue nuovamente il test dei cluster; li lascia semplicemente contrassegnati come "non validi". |
Per impostazione predefinita, e a meno che non venga utilizzata l'opzione /Q, durante il processo di formattazione viene controllato ogni settore del disco per garantire che possa memorizzare correttamente i dati.
Se viene individuato un settore danneggiato, questo viene contrassegnato e non viene utilizzato. Quando la formattazione è completa, viene visualizzato un messaggio che mostra lo spazio totale sul disco, qualsiasi spazio contrassegnato come difettoso, lo spazio utilizzato e lo spazio disponibile per i file. FORMAT non può essere utilizzato su un'unità virtuale creata utilizzando il comando SUBST.
Un modo veloce per riformattare un floppy è:
ren /? | formato /q/v:"" > null
La parte ren /? alimenta, insieme a un carico di materiale ridondante, un "enter", seguito da un "n, enter" in risposta ai prompt di FORMAT. Il >nul impedisce la visualizzazione dell'output un po' disordinato e confuso dei due comandi.
ETICHETTA
Il comando LABEL viene utilizzato per creare, modificare o eliminare l'etichetta di volume di un disco. L'etichetta di volume di un disco viene visualizzata come parte dell'elenco di directory insieme al numero di serie del volume, se esiste.
Sintassi:
ETICHETTA [unità:] [etichetta]
Unità: posizione del disco da nominare.
Etichetta La nuova etichetta del volume.
Nessuno Visualizza l'etichetta del disco corrente, se esiste. Chiede di immettere una nuova etichetta o di eliminare quella esistente
MD (o MKDIR)
Crea una directory. MD e MKDIR sono sinonimi e svolgono le stesse attività.
Sintassi:
MD [percorso] nomedirectory
DI PIÙ
Il comando MORE legge l'input standard da una pipe o da un file reindirizzato e visualizza una schermata di informazioni alla volta. Questo comando è comunemente usato per visualizzare file lunghi, output di directory, ecc.
Sintassi:
ALTRO [percorso] nome file
ALTRO < [percorso] nome file
comando | PIÙ [percorso] [nome file]
comando un comando il cui output deve essere visualizzato.
Nome file file da visualizzare una schermata alla volta
MORE filename e MORE < filename sono sinonimi ed equivalenti a TYPE filename | MORE. In tutti questi casi filename viene visualizzato una schermata alla volta. Premendo "Invio" viene visualizzata la schermata successiva. La visualizzazione può essere interrotta in qualsiasi momento premendo Ctrl-C. MORE adatta automaticamente il testo allo schermo.
Consideriamo un esempio di un file di testo di grandi dimensioni denominato BIGFILE.TXT. Ora i seguenti tre comandi svolgeranno lo stesso compito:
TIPO bigfile.txt | ALTRO
PIÙ bigfile.txt
ALTRO < bigfile.txt
MOSSA
Sposta file e directory da una posizione all'altra sulla stessa unità o su unità diverse.
Sintassi:
MOVE [/Y | /-Y] [percorso] nome file destinazione
/Y Sopprime la richiesta di conferma della creazione di una directory o della sovrascrittura della destinazione. Questa è l'impostazione predefinita quando MOVE è utilizzato in un file batch.
/-Y Forza un prompt per confermare la creazione di una directory o la sovrascrittura della destinazione. Questa è l'impostazione predefinita quando MOVE viene utilizzato dalla riga di comando.
Se è elencato più di un file da spostare, il percorso di destinazione deve essere una directory e i file manterranno i loro nomi originali.
RD (o RMDIR)
Rimuove (elimina) una directory vuota. RD e RMDIR sono sinonimi e svolgono le stesse attività.
Sintassi:
RD [percorso] nomedirectory
Se c'è una barra rovesciata ( \ ) prima del primo nome di directory in path, quella directory è considerata una sottodirectory della directory root sull'unità corrente. Se non c'è una barra rovesciata prima del primo nome di directory in path, la directory è considerata una sottodirectory della directory corrente.
Inoltre RD cancellerà solo una directory vuota. Se RD viene utilizzato su una directory contenente file e/o sottodirectory, il computer visualizza un messaggio di errore.
SCANDISCO
Esegue il programma di riparazione del disco SCANDISK.
Sintassi
Per controllare e riparare l'unità corrente:
SCANDISCO
Non dovresti scansionare il disco con CHKDSK o SCANDISK o qualsiasi altro programma di scansione del disco se il tuo disco è in crash o c'è un errore logico nei tuoi settori di avvio come MBR, DBR, FAT o directory root corrotte. Potrebbero distorcere le informazioni sui tuoi dati e renderne difficile il recupero. Non solo, potresti non recuperare completamente i dati |
In genere la versione DOS di Scandisk non funziona mentre Windows è in esecuzione. Invece di segnalare un errore, trasferisce automaticamente il controllo alla versione Windows di Scandisk
TIPO
Il comando TYPE viene utilizzato per visualizzare sullo schermo il contenuto di un file di testo ASCII.
Sintassi:
TIPO nome file
Per visualizzare i file di testo una schermata alla volta, incanala l'output da un comando TYPE a MORE. Vediamo alcuni esempi:
Per visualizzare il contenuto di ROMI.TXT:
TIPO romi.txt
Se il file è troppo lungo per essere visualizzato su una sola schermata:
TIPO romi.txt | ALTRO
Copia X
Questo comando è uno dei più importanti quando si desidera effettuare il backup dei dati importanti o addirittura creare un'immagine dell'intero disco per copiare file e directory.
XCOPY è simile al comando COPY, ma presenta molte più opzioni che consentono un controllo considerevole su cosa viene copiato esattamente quando si utilizzano i caratteri jolly.
Sintassi:
XCOPY origine [destinazione] [/Switch]
origine I file e le directory da copiare. È possibile utilizzare i caratteri jolly (* o ?).
destinazione Il percorso e/o il nome(i) dei nuovi file. Se destinazione viene omesso, i file vengono copiati nella directory corrente. Se destinazione si riferisce a una directory che non esiste, la directory viene creata. Per impostazione predefinita, XCOPY limiterà la sua operazione ai file nella directory di origine.
Interruttore |
Cosa fa |
/E |
Copia la struttura completa delle sottodirectory di origine e tutti i file in esse contenuti. |
/S |
Copia la struttura completa delle sottodirectory di origine e tutti i file in esse contenuti, ma non copia le sottodirectory vuote. |
/T |
Copia la struttura delle sottodirectory di source ma non copia alcun file e non copia le sottodirectory vuote. Per includere le sottodirectory vuote, usare con l' opzione /E . |
/UN |
Copia solo i file con l'attributo di archivio impostato. |
/M |
Copia solo i file con l'attributo di archivio impostato, disattivando l'attributo di archivio dei file di origine. |
/H |
Include file con attributi nascosti e di sistema impostati. |
/E |
Copia i file senza reimpostare l'attributo di sola lettura, se impostato. |
/R |
Sovrascrive i file di sola lettura. |
/IN |
Copia solo i file in origine che già esistono in destinazione . Può essere utilizzato con /D per aggiornare i file con versioni più recenti. |
/D:data |
Copia solo i file con una 'data ultima modifica' uguale o successiva a date . Se date non è specificato, vengono copiati tutti i file, eccetto quelli con lo stesso nome nella directory di destinazione che hanno una ' data ultima modifica ' più recente di quella in source . |
/IO |
Forza la destinazione a essere trattata come una directory. Il prompt file/directory viene soppresso. |
/E |
Sovrascrive i file esistenti senza chiedere conferma. |
/-E |
Chiede conferma prima di sovrascrivere i file esistenti. |
/IN |
Visualizza un messaggio prima di iniziare a copiare i file. |
/P |
Richiede conferma prima di creare ogni file di destinazione. |
/F |
Visualizza i nomi completi dei file di origine e di destinazione durante la copia. |
/Q |
Non visualizza i nomi dei file o altri messaggi durante la copia. |
/C |
Continua a copiare anche se si verificano errori. |
/L |
Visualizza i file da copiare ma non li copia effettivamente. |
/N |
Copia utilizzando i nomi brevi generati. Ciò è necessario quando si copia da un volume VFAT a un volume FAT. |
/Verso |
Verifica che i nuovi file siano leggibili. |
Per impostazione predefinita, XCOPY non copierà i file che hanno attributi di sistema o nascosti impostati e anche le copie dei file di sola lettura non hanno l'attributo di sola lettura impostato e tutti i file copiati hanno il loro attributo di archivio impostato. Per impostazione predefinita, XCOPY chiede conferma prima di sovrascrivere i file nella destinazione con file nella sorgente con lo stesso nome.
XCOPY richiede anche istruzioni se c'è ambiguità se destinazione è una directory o un file. Un'ambiguità si vede quando destinazione non fa riferimento a una directory esistente o termina con "\". Ad esempio una destinazione di nome.ext potrebbe essere un file o una directory. Impariamolo meglio con i seguenti esempi.
Per copiare tutti i file e le sottodirectory dalla directory delle note al disco nell'unità A:
xcopy c:\note a: /s
O
xcopy c:\notes\*.* a: /s
Per copiare tutti i file e le sottodirectory dalla directory notes creati o modificati dal 9 dicembre 2002 sul disco nell'unità A:
xcopy c:\note a: /s /d:9/12/02
Creazione dell'“immagine di guida”
Se vuoi effettuare il backup dell'intero disco su un altro o vuoi creare un'immagine dei dati del disco "incluso il sistema operativo e altri software installati" su un altro disco rigido, prova semplicemente questo:
C:\> Copia X * D:\I\E\C\H
Qui D: dovrebbe essere la partizione attiva di un altro disco rigido. Questo copierà tutti i dati dell'unità sorgente (inclusi il sistema operativo installato, il software, i documenti ecc.) come immagine nell'unità di destinazione .
Dopodiché, se avvii il computer con l' unità di destinazione , funzionerà esattamente come l' unità di origine e ti mostrerà tutti i dati presenti nell'unità di origine .
Scorciatoie specifiche, caratteri jolly e reindirizzamento
Scorciatoie
Un certo numero di comandi DOS riconosce certe scorciatoie quando si naviga tra le directory. Le più note sono:
Scorciatoia |
Perché usarlo |
. |
per fare riferimento alla directory corrente |
.. |
per fare riferimento alla directory padre |
\ |
per fare riferimento alla directory radice dell'unità corrente. |
guidare : |
per fare riferimento alla directory corrente sull'unità |
Cerchiamo di capirlo con l'aiuto di esempi. Se la directory corrente sul drive c: è c:\windows\java\notes, allora dir c: al prompt a:\> elencherà i file in c:\windows\java\notes
- Se l'unità e la directory correnti sono c:\data\docs\letters, allora:
- Se l'unità e la directory correnti sono c:\ , allora:
caratteri jolly
Molti comandi DOS come ATTRIB, COPY, DEL, DELTREE, ecc., accettano l'uso dei "caratteri jolly" (* e ?). In termini generali, * si riferisce a più caratteri e ? si riferisce a un singolo carattere in un nome di file o directory.
Questo è il motivo per cui non possiamo usare questi caratteri nel nome di nessun file. Questi caratteri speciali sono / \ : * ? < > “ | che non dovrebbero essere inseriti in un nome file. La seguente tabella mostra l'uso dei caratteri jolly:
Carattere jolly |
Cosa fa |
*.* |
Tutti i file con tutte le estensioni. |
*dati*.* |
Tutti i file il cui nome contiene la parola "data". |
*vettore.* |
Tutti i file con nomi che terminano con "array" |
nota?.cpp |
Tutti i file denominati "note" più un carattere e con estensioni .CPP. Questo file potrebbe essere note1.cpp, ma non note.cpp. |
?T*.* |
Tutti i file con una "t" come seconda lettera nei loro nomi |
Va notato che non tutti i comandi gestiscono i caratteri jolly esattamente nello stesso modo. Ad esempio DIR * e DIR *.* sono considerati sinonimi, ma DEL * eliminerebbe solo i file senza estensione.
Uno spazio racchiuso tra virgolette (" ") è accettato come specifica di file valida da EDIT e DEL, ma in modi piuttosto diversi.
EDIT aprirà un file usando il nome della directory corrente. Quindi se la directory corrente è D:\windows\java\notes, EDIT " " creerà un file in quella directory chiamato "notes".
DEL riconosce " " come *.* e chiederà conferma prima di eliminare tutti i file nella directory. Come con EDIT, il numero di spazi tra le virgolette non sembra significativo, ma se non ci sono spazi viene visualizzato un messaggio di errore che indica che manca un parametro obbligatorio.
A differenza di EDIT, è possibile includere un percorso e, in tal caso, non sono necessari spazi tra virgolette. Ad esempio, per eliminare tutti i file nella directory corrente:
DEL ./"" funziona, ma DEL "" restituisce un messaggio di errore.
Anche COPY vede " " come *.* e, come DEL, accetta un percorso con esso. A differenza di DEL, deve sempre esserci uno spazio tra le virgolette, anche quando è incluso un percorso
Reindirizzamento
Un certo numero di comandi DOS inviano output allo schermo e/o richiedono input dall'utente. Il reindirizzamento è un meccanismo mediante il quale l'output di un comando può essere inviato a un altro dispositivo, ad esempio una stampante o un file, oppure a un altro programma o comando.
Esistono quattro funzioni di reindirizzamento:
> |
Reindirizza l'output |
>> |
Aggiungere |
< |
Reindirizza input |
| |
Tubo |
>
Reindirizza l'output di un comando dal "dispositivo di output standard" (solitamente il monitor) a un altro dispositivo (ad esempio una stampante) o a un file.
Sintassi:
Per reindirizzare l'output a un dispositivo:
Comando > Dispositivo
Per reindirizzare l'output a un file:
Comando > Nome file
I nomi di dispositivo accettabili sono CON (Monitor), PRN (LPT1, che si presume sia la stampante), LPT1 - 3 (Porte parallele, solitamente collegate a una stampante), COM 1 - 4 (Porte seriali) e NUL (un vuoto elettronico).
Se viene specificato qualcosa di diverso da un dispositivo riconosciuto, si presume che sia il nome di un file. Se esiste già un file con il Filename specificato, viene sovrascritto senza alcun Warning. Vediamo alcuni Esempi per capirlo meglio.
Probabilmente gli usi più comuni di questa funzione di reindirizzamento sono inviare elenchi di directory alla stampante o salvarli come file. Per stampare un elenco di directory ordinato di tutti i file nella directory di Windows:
DIR c:\windows /o/a > PRN
Per creare un file contenente l'elenco delle directory della stessa directory:
DIR c:\windows /o/a > d:\windows.txt
>>
Aggiunge l'output di un comando al file specificato.
Sintassi:
Comando >> Nome file
Se Filename non esiste, viene creato. Se Filename esiste, l'output del comando viene aggiunto ad esso, a differenza della funzione > in cui il contenuto originale viene sovrascritto. Cerchiamo di capirlo meglio con un esempio.
Per aggiungere l'elenco delle directory dei file nella directory c:\windows\system a quella creata in precedenza:
DIR c:\windows\system /o/a >> d:\windows.txt
<
Dirige l'input a un comando da una sorgente diversa da quella predefinita. La sorgente predefinita è solitamente la tastiera.
Sintassi:
Comando < Origine dati
Viene usato generalmente nella programmazione batch. Cerchiamo di capirlo con l'esempio. La seguente procedura del comando DEBUG viene usata per fare il backup di MBR dove MBR.BIN è il nome del file di backup creato dopo questa esecuzione.
debug mbr.bin
UN
Movimento DX, 6000
MOV È, DX
XOR BX, BX
Movimento DX, 0080
Modello CX, 0001
ASSE MOV, 0201
INTERNO 13
INTERNO 20
<Invio>(non digitare nulla)
G
RCX-C
200
Nel 6000:0000
Q
Per fare ciò, utilizzando un file batch, creiamo due file batch, uno contenente l'istruzione per eseguire il comando DEBUG e l'altro per memorizzare altre istruzioni che verranno passate al comando DEBUG come input. Questo file sarà la fonte dati per il primo file. Vediamo come:
C:\ mbr.bat
Vediamo ora cosa contiene questo MBR.BAT.
MBR.BAT |
DEBUGAGGIO mbr.bin < ttsource.bat |
E ovviamente il secondo file denominato TTSOURCE.BAT fungerà da fonte dati per questo e conterrà le seguenti istruzioni:
FONTE TTSOURCE.BAT |
UN |
Movimento DX, 6000 |
MOV È, DX |
XOR BX, BX |
Movimento DX, 0080 |
Modello CX, 0001 |
MOVIMENTO ASCIA, 0201 |
INTERNO 13 |
INTERNO 20 |
<invio> (Non inserire nulla) |
G |
R SH |
200 |
Alle 6000:0000 |
IN |
|
Una pipe reindirizza l'output di un programma o comando a un secondo programma o comando.
Sintassi:
Squadra1 | Squadra2
Diamo un'occhiata a un esempio di inserimento di un file di testo lungo:
tipo file.txt |altro