Capitolo – 7
Comandi DOS necessari
introduzione
Mentre proviamo a recuperare i dati dal disco, dipende dal caso di perdita di dati quanto sforzo è necessario per recuperare la perdita. In molti casi è possibile che se abbiamo una conoscenza sufficiente di alcuni importanti comandi DOS (Disk Operating System), possiamo recuperare i dati con meno sforzi.
In alcuni casi potrebbe essere possibile recuperare i dati senza programmare solo utilizzando questi comandi con una mente complicata.
Presumo che tu non sappia nulla di DOS e dei suoi comandi. In questo capitolo dell'introduzione ai comandi DOS impareremo solo quei comandi che possono aiutarci a recuperare i nostri dati. Prima di tutto daremo uno sguardo 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 stabile e sofisticato per personal computer.
Sistema operativo Microsoft Disk (MS-DOS) versione 1.0
IBM ha sviluppato questo computer all'inizio degli anni '80. Microsoft ha sviluppato MS-DOS 1.0. Rilasciato nell'agosto 1981, consisteva in 4000 righe di codice sorgente in linguaggio assembly e funzionava in 8 kilobyte di memoria.
Poco dopo, nel 1982, MS-DOS versione 1.1 fu rilasciata e funzionava con floppy disk da 320 kb a doppia faccia. Le versioni di DOS commercializzate da IBM sono chiamate IBM-DOS o PC-DOS.
MS-DOS versione 2.0
Quando IBM iniziò lo sviluppo di un disco rigido da 10 megabyte, Microsoft iniziò a lavorare allo sviluppo della versione 2.0 di DOS, che sarebbe stata progettata per supportare il disco rigido. Fino a questo punto, DOS 1.0, in linea con la sua eredità, era stato progettato per un ambiente floppy disk. Una delle principali limitazioni in DOS 1.0 è che la sua directory è limitata a un massimo di 64 file.
MS-DOS versione 2.0 è stato progettato per includere un file system strutturato in modo gerarchico. Un file system gerarchico è significativo in quanto qualsiasi directory può contenere sia file che altre sottodirectory. I file system gerarchici erano già in uso nel sistema operativo UNIX, utilizzato come piattaforma di sviluppo del sistema operativo MS-DOS/IBM-DOS. In effetti, alcuni dei concetti alla base di MS-DOS sono simili alle loro controparti in UNIX.
MS-DOS dalla versione 3.0 alla 5.0
La versione 3.0 è stata rilasciata nell'agosto del 1984 per supportare IBM PC/AT. La versione 3.1 è stata rilasciata nel novembre 1984 e conteneva il supporto di rete. La versione 3.2 di gennaio 1986 supportava dischi da 3,5 pollici. Nel 1987 seguì IBM versione 3.3, con lo scopo principale di supportare la linea di computer IBM PS/2.
La versione 3.3 di MS-DOS ha aggiunto molte nuove funzionalità e comandi. Compaq versione 3.31 di DOS consentiva partizioni del disco rigido superiori a 32 megabyte.
MS-DOS versione 4.01 legge anche partizioni superiori a 32 megabyte. Originariamente rilasciato come MS-DOS 4.0, alcuni bug minori hanno comportato l'emissione della versione aggiornata 4.01 con varie correzioni. Questa versione ha aggiunto schermi interi, un'interfaccia basata su menu chiamata DOS SHELL e supporto aggiuntivo per le specifiche della memoria espansa.
La versione 5.0 è stata progettata come sostituto di tutte le versioni precedenti di DOS. Con DOS 5.0 sia IBM che Microsoft vendevano lo stesso DOS anche se la documentazione era simile. I requisiti di memoria sono stati notevolmente ridotti. Sono stati apportati miglioramenti significativi al supporto per la memoria espansa ed estesa.
L'editor DOS "EDIT" è stato incluso in questa versione di DOS. La SHELL DOS è completamente nuova. QBASIC è stato introdotto per sostituire BASICA e GWBASIC. Questa versione offriva un modo per recuperare i dati che erano stati persi accidentalmente almeno una parte del tempo.
MS-DOS versione 6.0
La versione 6.0 includeva molti nuovi programmi per migliorare le prestazioni di DOS. Includevano:
- Microsoft Double Space, un programma integrato di compressione del disco che aumenta lo spazio disponibile su disco comprimendo i file
- Microsoft Mem Maker, un programma di ottimizzazione della memoria che semplifica lo spostamento di driver di dispositivo e programmi residenti in memoria dalla memoria convenzionale all'area di memoria superiore
- Un driver di dispositivo EMM386.EXE avanzato che fornisce 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 ti consente di scegliere uno o tre livelli di protezione in caso di eliminazione accidentale di 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 di MS-DOS, un riferimento in linea completo ai comandi di MS-DOS
MS-DOS versione 7.0 (Windows 95)
DOS viene fornito con Windows 95 per la compatibilità con le versioni precedenti delle applicazioni DOS e Windows 3.x. Vediamo l'evoluzione da MS – DOS a Windows nella tabella seguente:
MS – DOS Version |
Notes and Comments |
MS- DOS 1.0 |
First operating system on IBM PC in 1981 |
MS- DOS 1.25 |
Double sided disk support and bug fixes added |
MS- DOS 2.0
|
Introduced with IBM PC/XT in 1983 and having the support of hierarchical file structure and hard disks added. |
MS- DOS 2.01 |
2.0 with international support |
MS- DOS 2.11 |
2.01 with bug fixes |
MS- DOS 2.25 |
Support for Extended Character sets |
MS- DOS 3.0 |
Support for 1.2MB floppy disks and larger hard disks added |
MS- DOS 3.1 |
Support for Microsoft networks added |
MS- DOS 3.2 |
Support for 3.5 inches disks added |
MS- DOS 3.3 |
Generalized code page (font) support |
MS- DOS 4.0 |
Support for logical volumes larger then 32 MB and Visual shell |
Windows 1.0 |
Graphical user interface for MS – DOS |
Windows 2.0 |
Compatibility with OS/2, Presentation Manager |
Windows 95 |
Used Version 4.00.950 |
Windows 95 Se |
Used Version 4.00.1111 |
Windows 98 |
Used Version 4.10.1998 |
Windows 98 Second Edition |
Used Version 4.10.2222 |
Windows Millennium |
Used Version 4.90.3000 |
Windows NT |
Used Version 4.0 |
Windows 2000 |
Used Version 5.00.2195 |
Windows XP |
Used Version 5.1.2600 |
Comandi necessari
Impariamo alcuni comandi importanti che possono essere utili mentre cerchiamo di recuperare i dati con tecniche di programmazione e non:
ATTRIB
Il comando ATTRIB viene utilizzato per visualizzare, impostare o rimuovere uno o più dei quattro attributi di sola lettura, archivio, sistema e nascosto che possono essere assegnati a file e directory. Viene in genere utilizzato per rimuovere gli attributi di sola lettura, nascosti e di sistema 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|nome file] [/S]
+ Imposta un attributo, - Cancella un attributo.
R |
Read-only file attribute. |
A |
Archive file attribute. |
S |
System file attribute |
H |
Hidden file attribute. |
/S |
Processes files in all directories in the specified path. |
L'attributo di sola lettura 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 Nascosto impostato non vengono normalmente visualizzati negli elenchi di directory o nelle finestre di dialogo Apri file.
Il solito motivo per nascondere le cartelle è perché sono importanti per il funzionamento del sistema o del programma e non devono essere eliminate o spostate durante operazioni di riordino casuali. Le cartelle nascoste e di sistema avranno spesso anche l'attributo di sola lettura impostato.
È possibile impostare o cancellare più attributi combinando le opzioni, separate da spazi. Sebbene sia i file che le directory possano avere attributi assegnati e cancellati utilizzando ATTRIB, ci sono differenze nel modo in cui si comportano, la più ovvia delle quali è che i caratteri jolly (? e *) possono essere utilizzati per visualizzare o modificare gli attributi per un gruppo di file mentre le directory devono essere nominate per intero. Vedremo in dettaglio i caratteri jolly e le scorciatoie più avanti in questo capitolo.
L'impostazione di un attributo di file su Sistema, Nascosto o Sola lettura impedirà l'eliminazione o lo spostamento del file utilizzando i comandi DEL, ERASE o MOVE, ma non proteggerà i file da DELTREE o FORMAT. Sebbene sia possibile impostare l'attributo di sola lettura di una directory, ciò sembra servire a poco.
Innanzitutto, l'attributo si applica solo alla directory e non ai file al suo interno. Anche l'impostazione di una cartella in sola lettura non ne impedisce l'eliminazione, tuttavia in Esplora risorse di Windows verrà visualizzato 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:\mienote"
ATTRIB +H c:\mienote
Per nascondere i file, ma non le directory in C:
ATTRIB +H c:*.*
CD (o CHDIR)
Modifica (o visualizza) la directory corrente sull'unità specificata.
Sintassi:
Per visualizzare la directory corrente:
CD [unità:]
Per cambiare la directory corrente:
Percorso CD
Percorso Cambia la directory corrente in percorso. Ogni unità ha la propria "directory corrente" che rimane "corrente" fino a quando non viene modificato, modificando così la directory corrente dell'unità c: non influirà sullo stato della directory corrente di qualsiasi altra unità. Per passare alla directory corrente su un'unità diversa, inserisci la lettera e i due punti dell'unità.
Se l'unità corrente è c:, per entrare nella directory "
c:\windows\java"
CD \windows\java
Se la directory corrente è già "c:\windows", tutto ciò che serve è:
CD Java
Per modificare la directory corrente "c:\windows\java" alla directory principale "c:\windows":
CD..
Supponiamo che tu sia attualmente nel director "c:\windows\java\notes\klip\", ora se vuoi passare direttamente alla directory di Windows, aumenta semplicemente gli altri 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:\film", quindi per copiare tutti i file da "e:\film" a "c\windows\notes":
COPIA e:*.* c:
Per copiare tutti i file da "e:\downloads" alla directory principale di c:
COPIA e:*.* c:\
CHKDSK
CHKDSK viene utilizzato per controllare lo stato di un disco, correggere alcuni errori del disco e visualizzare un rapporto di stato che mostra eventuali errori trovati nella tabella di allocazione dei file (FAT) e nella struttura della directory. CHKDSK visualizza anche un riepilogo dell'utilizzo del disco. Se vengono rilevati 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 CHKDSK un po' datato. L'opzione /F (per correggere eventuali errori rilevati) non deve essere utilizzata mentre è in esecuzione programmi diversi da DOS e CHKDSK stesso.
CHKDSK non può essere utilizzato su unità create utilizzando SUBST, né può essere utilizzato su unità di rete. In win98, CHKDSK non controlla il disco, sebbene fornisca comunque alcuni dati di base
Non eseguire la scansione del disco con CHKDSK o SCANDISK o qualsiasi altro programma di scansione del disco se il disco si è bloccato o se sono presenti errori logici nei settori di avvio come MBR, DBR, FAT o le directory principali sono danneggiate. Potrebbe renderti le informazioni sui dati distorte e può rendere difficile il recupero. Non solo, potresti non recuperare completamente i dati. |
CLS
Cancella lo schermo lasciando solo il prompt dei comandi e il cursore.
Syntax:
CLS
COMANDO
Avvia una nuova copia dell'interprete dei comandi.
Sintassi:
COMANDO [percorso] [dispositivo] [/Interruttori]
Percorso Unità e directory contenente command.com. Questo deve essere specificato a meno che command.com non sia nella directory principale.
Dispositivo Dispositivo da utilizzare per l'input e l'output dei comandi. Per impostazione predefinita, questa è la tastiera e il monitor
/P Rende permanente il nuovo Interprete dei comandi.
/E:x Imposta la dimensione dell'ambiente iniziale [byte]. x deve essere impostato tra 256 e 32.768 byte. Il valore predefinito è: 256 byte.
/L:y Lunghezza dei buffer interni [byte]. y dovrebbe essere impostato tra 128 e 1.024 byte. Questa opzione è accettata solo se l'interprete dei comandi è permanente. È necessario impostare anche l'opzione /P.
/U:z Lunghezza del buffer di input [byte]. z deve essere impostato tra 128 e 255 byte. L'impostazione predefinita è: ? 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. È necessario impostare anche l'opzione /P.
/LOW Forza il COMANDO a mantenere la memoria insufficiente
/Y Passa attraverso il programma batch specificato da /C o /K
/C comando Esegue il comando ed esce. Questa deve essere l'ultima opzione sulla riga di comando.
/K comando Esegue il comando e continua l'esecuzione. Questa deve essere l'ultima opzione sulla riga di comando.
COPIA
L'uso principale di COPY è copiare uno o più file in un'altra posizione, ma può anche essere utilizzato per combinare (aggiungere e concatenare) file e digitare direttamente su un file, una stampante o un altro dispositivo.
Sintassi:
COPY [/A | /B] source [/A | /B] [+ source [/A | /B] [+ ...]]
[destination [/A | /B]] [/V] [/Y | /-Y]
source Il/i file da copiare. Sebbene questo debba essere un singolo parametro, può includere più file specificati utilizzando caratteri jolly (* o ?). Potrebbe anche essere un dispositivo valido (es. CON)
mi piace COPIA CON NOTES.TXT
ora scrivi o copia il testo ed esci digitando il tasto Ctrl+Z.
destinazione La directory e/o il nome del file per i nuovi file. Se la destinazione non è specificata, l'origine viene copiata nella directory corrente con lo stesso nome e data di creazione dell'originale. Se l'origine è nella directory corrente, viene visualizzato un messaggio di errore che indica che il "il file non può essere copiato su 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 Nessuna richiesta di avviso prima di sovrascrivere un file.
/-Y Visualizza un avviso e richiede prima la conferma
sovrascrivere un file.
Se utilizzato dalla riga di comando, se un file specificato in destinazione esiste già nella posizione specificata, COPY visualizzerà, per impostazione predefinita, un messaggio di avviso e richiederà conferma prima di sovrascrivere il vecchio file. D'altra parte, quando COPY viene utilizzato in un file batch, tutti i file esistenti verranno sovrascritti senza preavviso.
Questo comportamento predefinito può essere modificato preimpostando /Y | /-Y nella variabile d'ambiente COPYCMD e annullato utilizzando l'opzione /Y | /-Y passa dalla riga di comando.
COPY non copia i file lunghi 0 byte; invece, elimina tali file. Usa XCOPY per copiare questi file. L'origine e/o la destinazione 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 assume 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 di fine 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 i file e di lavorare con input non di file (come la tastiera). Nelle poche occasioni in cui la modalità predefinita è inappropriata, potrebbe essere ignorata aggiungendo l'opzione /A o /B ai file di origine e/o di destinazione come richiesto.
Per copiare "note.txt" nell'unità e nella directory correnti nella directory "mienote":
COPY note.txt c:\mynotes
or
COPY note.txt c:\mynotes\
Nel primo caso, se il campo "mienote" directory non esiste, "note.txt" viene copiato in un file denominato "mienote" nella directory principale dell'unità C. Nel secondo caso, una "Directory non valida" verrà visualizzato un messaggio di errore. Per copiare tutti i file in "mienote" directory in una directory denominata "mynotes backup" sull'unità D:
COPIA c:\mynotes\*.* d:\mynotes backup\
Per fare una copia di "note.txt" nell'unità e nella directory correnti e chiamalo "programma note.txt"
COPIA note.txt "programma note.txt"
DEBUG
DEBUG è un metodo per esaminare parti del tuo computer e scrivere codice assembly per eseguire determinate attività sul tuo computer. MS-DOS 2.x - 4.x utilizzava DEBUG.COM e MS-DOS 5.x e oltre utilizzavano DEBUG.EXE per questo.
DEBUG.EXE è uno di quei piccoli programmi che, nelle mani di un utente esperto, è uno strumento incredibilmente potente con il quale è possibile visualizzare e modificare il contenuto della memoria sia a breve termine (RAM) che a lungo termine (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 ci sono "annulla" comando, quindi fai un backup prima di giocarci. Assicurati di sapere cosa stai facendo quando usi l'utilità DEBUG.
Questo è un potente strumento di programmazione che può essere utilizzato per accedere al tuo computer a livello hardware. Se non stai attento, potresti causare danni come la cancellazione del disco rigido o il blocco della tastiera.
Sintassi:
DEBUG [nome file]
DEBUG [[unità:] [percorso] nome file [testfile-parametri]]
[unità:][percorso]nomefile Specifica il file che desideri testare.
testfile-parameters Specifica le informazioni della riga di comando richieste dal file che vuoi testare.
Come avviare DEBUG
DEBUG può essere avviato in due modi.
Metodo uno:
Al prompt del DOS si immette
DEBUG (ritorno)
DEBUG risponderà con il prompt del trattino (-). Quando viene visualizzato il prompt, DEBUG sta aspettando che tu inserisca uno dei suoi numerosi comandi di una lettera. L'avvio di DEBUG in questo modo ti consentirà di lavorare sull'hardware interno del computer e di visualizzare il contenuto di tutta la posizione di memoria nella RAM. Puoi anche caricare fino a 128 settori di un floppy o 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) locazioni di un byte che è uguale 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 modificati in alcun modo. Ogni volta che carichiamo settori o dati in memoria con DEBUG, questi 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, stiamo dicendo al debug di caricare in memoria a partire dall'offset 100, 80 settori (esadecimali) dall'unità A che inizia con il settore 0. 80 settori esadecimali equivalgono a 128 settori decimali, quindi se ogni settore sul disco, memorizza 512 byte, quindi il numero totale di byte caricati in memoria è (512 X 128) o 65.540 byte (massimo).
Metodo due:
Al prompt del DOS inserisci
DEBUG \percorso\nomefile (ritorno)
DEBUG verrà quindi caricato in memoria insieme al file specificato nel campo percorso e nome file della riga di comando e inserirà 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 conveniente per eseguire il DEBUG o correggere un programma COM.
MS-DOS consentirà l'esecuzione sotto il suo controllo solo di due tipi di programmi e devono terminare con le estensioni di EXE o COM. La differenza tra questi due tipi di programma sta nel modo in cui DOS gestisce le parti di manutenzione del programma.
Questa area di manutenzione, spesso chiamata Program Segment Prefix (PSP), è un blocco di memoria di 256 byte che deve essere messo da parte dal programma ed è necessario al DOS per restituire il controllo al sistema operativo al termine del programma.
Senza entrare in molti dettagli, evidenzieremo la principale differenza tra questi due tipi di programmi.
Estensione COM
I programmi COM sono programmi molto piccoli e compatti che non possono superare le dimensioni di 65 K byte. La PSP di un programma COM si trova nelle prime 100 posizioni esadecimali (256 Dec) del programma. La prima istruzione del programma COM deve iniziare con l'offset 100 in memoria.
DOS crea la PSP per il programma COM, il che significa che non dobbiamo preoccuparci di questo quando assembliamo un programma. Tutti i dati, il codice e l'area dello stack si trovano nello stesso segmento di memoria (1 segmento è 64K).
Estensione EXE
I programmi EXE possono avere qualsiasi dimensione da 200 byte a 640k byte. La PSP deve essere configurata dal programmatore, quando il programma è 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 dello stack in memoria.
Dal confronto tra le 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 accediamo al debug.
Una volta in DEBUG, possiamo iniziare l'assemblaggio di un programma all'offset 100 e non preoccuparci della 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 "Q" ed entra. Per eseguire la routine DEBUG devi fare "G" ed entra.
Vediamo un esempio:
DEBUG <ritorno>
G40:00 <ritorno>
Le informazioni sulle porte del tuo computer verrebbero visualizzate se una porta è assente o se non risponde, lo stato di quella porta verrà visualizzato come 00.
Ora inserisci Q per tornare.
Q <ritorno>
Una volta chiamato DEBUG, viene visualizzato il "prompt DEBUG" alquanto criptico, un trattino (-). Al prompt, i seguenti "comandi DEBUG" sono validi:
Command |
Parameters |
Action |
? |
|
This list of DEBUG commands. |
A |
[address] |
Assemble |
C |
range address |
Compare |
D |
[start address [end address | L range]] |
Displays a segment of memory. By default start address is offset 100 of the first free segment of memory, or offset 100 of the segment containing a file loaded by DEBUG. The default end address is 017F ( a range of 128 bytes). |
E |
address [list] |
Enter |
F |
range list |
Fill |
G |
[=address] [addresses] |
Go |
H |
value1 value2 |
Hex |
I |
Port |
Input |
L |
- |
Loads a previously "named" (by N command) file into memory where it can be viewed /edited. |
L |
Number |
Used with commands accepting a "range" argument to denote a number of bytes. Typically used in arguments as: start address L number. If number should take end address past the end of the segment, then number is truncated so the end address is the last byte of the segment. |
M |
range address |
Move |
N |
[path] filename [arglist] |
"Names" a file for DEBUG. A file must be "named" before it can be loaded for viewing/editing. |
O |
port byte |
Output |
P |
[=address] [number] |
Proceed |
Q |
|
Exit DEBUG. |
R |
[register] |
Register |
S |
range list |
Search |
T |
[=address] [value] |
Trace |
U |
[range] |
Unassembled |
W |
[address] [drive] [first sector] [number] |
Write |
XA |
[#pages] |
Allocate expanded memory |
XD |
[handle] |
de-allocate expanded memory |
XM |
[Lpage] [Ppage] [handle] |
Map expanded memory pages |
XS |
|
Display expanded memory status |
CANC (o CANCELLA)
Elimina i file con nome. 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:
Percorso DEL o
DEL percorso \*.*
Per eliminare tutti i file in una directory senza conferma:
Percorso DEL \?*.*
DEL accetta solo un parametro che specifica cosa deve essere eliminato. Tuttavia, questo parametro può essere scritto utilizzando caratteri jolly in modo che più file vengano eliminati. 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 del file lungo con spazi tra virgolette risolve il problema. Vediamo un esempio:
D:\>del note 2.txt
Too many parameters - 2.txt
D:\>del "note 2.txt"
D:\>_
DEL non elimina i file con attributi di sola lettura, nascosti e/o di sistema impostati. Per eliminare tali file, è possibile utilizzare DELTREE o modificare gli attributi necessari con il comando ATTRIB.
DELTREE
Elimina i file e le directory e tutte le sottodirectory e i file in esso contenuti.
Sintassi:
Per eliminare una directory e tutte le sottodirectory e i file in essa contenuti:
Rubrica DELTREE [/Y]
directory La directory da eliminare.
/Y Elimina le richieste di conferma precedenti
eliminazione.
Per eliminare tutti i file e le sottodirectory ma lasciare la directory stessa:
directory DELTREE [/Y]\*.*
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 i file siano contrassegnati come nascosti, di sistema o di sola lettura.
Il comando DELTREE supporta i caratteri jolly, ma dovrebbero essere usati con una certa cautela. Se specifichi un carattere jolly che corrisponda sia ai nomi delle directory che ai nomi dei file, sia le directory che i file verranno eliminati.
Prima di specificare i caratteri jolly con il comando DELTREE, utilizzare il comando DIR /A per visualizzare i file e le directory che verranno eliminati. È anche più sicuro specificare il percorso completo per evitare sorprese dovute a 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:
DELTREE /Y c:\note\*.*
Per eliminare il file di sola lettura recovery.doc nella directory c:\data senza reimpostare gli attributi:
DELTREE /Y c:\data\recover.doc
DOSKEY
DOSKEY è un TSR progettato per aiutare a lavorare dalla riga di comando semplificando la modifica della riga di comando, ricordando i comandi precedenti ed essendo in grado di registrare macro.
Sintassi:
Per caricare DOSKEY:
DOSKEY [/Interruttori]
Switches |
what it does |
/B:xxx |
Sets the size of the buffer for macros and commands. The minimum value of xxx is 256 and the default is 512 (bytes). If DOSKEY is already running, it must be reloaded (with /R) when changing the buffer size. |
/E:On|Off |
Enables|Disables the display of commands when a macro plays. E(Echo) is On by default. |
/F:filename |
Retrieves filename - a text file containing a list of macros in the form Macroname=Text |
/H |
Displays all commands stored in memory. (This list will not be redirected to a file). |
/I|O |
Specifies whether text is entered in Insert or Overstrike mode by default. In either case the alternative mode can be selected by using <Insert> but the default is reset as soon as <Enter> is used. The default mode is Overstrike. |
/K:xx |
Sets the size of the keyboard type-ahead buffer. The default is 15 (characters). If DOSKEY is already running, it must be reloaded (with /R) when changing the buffer size. |
/L |
Sets the maximum size of the line edit buffer. The default is 128 (characters). |
/M |
Displays a list of all DOSKEY macros currently in the buffer. This list can be redirected to a text file using standard Dos redirection (>) |
/R |
Installs a new instance of DOSKEY. If DOSKEY is already running, the buffer is cleared of both macros and the Command Line history. Note that installing a new instance of DOSKEY does not remove the previous instance. Thus each use of /R takes another 5K of conventional/upper memory. |
Macroname |
The name of the macro. This is a string of one or more characters possibly modified by the Ctrl and/or Alt keys. |
Text |
The text string to be assigned to Macroname. This will typically be one or more DOS commands along with appropriate parameters and/or switches. |
Per creare una macro DOSKEY:
DOSKEY Macroname=Testo
Per eseguire una macro:
Nome macro
Switches |
what it does |
/B:xxx |
Sets the size of the buffer for macros and commands. The minimum value of xxx is 256 and the default is 512 (bytes). If DOSKEY is already running, it must be reloaded (with /R) when changing the buffer size. |
/E:On|Off |
Enables|Disables the display of commands when a macro plays. E(Echo) is On by default. |
/F:filename |
Retrieves filename - a text file containing a list of macros in the form Macroname=Text |
/H |
Displays all commands stored in memory. (This list will not be redirected to a file). |
/I|O |
Specifies whether text is entered in Insert or Overstrike mode by default. In either case the alternative mode can be selected by using <Insert> but the default is reset as soon as <Enter> is used. The default mode is Overstrike. |
/K:xx |
Sets the size of the keyboard type-ahead buffer. The default is 15 (characters). If DOSKEY is already running, it must be reloaded (with /R) when changing the buffer size. |
/L |
Sets the maximum size of the line edit buffer. The default is 128 (characters). |
/M |
Displays a list of all DOSKEY macros currently in the buffer. This list can be redirected to a text file using standard Dos redirection (>) |
/R |
Installs a new instance of DOSKEY. If DOSKEY is already running, the buffer is cleared of both macros and the Command Line history. Note that installing a new instance of DOSKEY does not remove the previous instance. Thus each use of /R takes another 5K of conventional/upper memory. |
Macroname |
The name of the macro. This is a string of one or more characters possibly modified by the Ctrl and/or Alt keys. |
Text |
The text string to be assigned to Macroname. This will typically be one or more DOS commands along with appropriate parameters and/or switches. |
Per creare una macro DOSKEY:
DOSKEY Macroname=Testo
Per eseguire una macro:
Nome macro
DOSKEY Commands |
What it does |
Left/Right cursor |
Moves the cursor back/forward one character. |
Ctrl + Left/Right cursor |
Moves the cursor back/forward one word. |
Home/End |
Moves the cursor to beginning/end of line. |
Up/Down cursor |
To scroll up (and back) through the list of stored commands. Each press of the "up" key recalls the previous command and displays it on the command line. |
Page Up/Down |
Recalls the oldest/most recent command in the buffer |
F1 |
Copies the next character from the Template to the Command Line |
F2 + key |
Copies text from the Template up to (but not including) key. |
F3 |
Copies the Template from the present character position to the Command Line. |
F4 + key |
Deletes the characters from the present character position up to (but not including) key. |
F5 |
Copies the current command to the Template and clears the Command Line. |
F6 |
Places an end-of-file character (^Z) at the current position of the Command Line. |
F7 |
Displays a numbered list of the command history. |
Alt-F7 |
Deletes all commands stored in the buffer. |
Chars + F8 |
Entering one or more characters Chars followed by F8 will display the most recent command beginning with Chars. Pressing F8 again will display the next most recent command beginning with Chars, and so on. |
F9 + Command# |
Displays the designated command on the command line. |
Alt-F10 |
Deletes all macro definitions. |
Per eliminare una macro:
DOSKEY Macroname=
Caratteri speciali DOSKEY
I seguenti caratteri speciali possono essere utilizzati nelle macro per controllare le operazioni dei comandi:
Characters |
What is does |
$G |
Redirects output – equivalent to the redirection symbol > |
$G$G |
Appends output to the end of a file - equivalent to the append symbol >> |
$L |
Redirects input - equivalent to the symbol < |
$B |
Sends macro output to a command - equivalent to the pipe symbol | |
$T |
Separates commands when creating macros or typing commands on the DOSKEY command line |
$$ |
Use for the $ sign |
$1 to $9 |
Represents any command-line parameters that can be specified when the macro is run. Comparable with the %1 to %9 characters in batch programs |
$* |
Represents command-line information that can be specified when macroname is written. $* is similar to the replaceable parameters $n except that everything typed on the command line after macroname is substituted for the $* in the macro. |
DIR
Visualizza l'elenco di file e sottodirectory in una directory.
Sintassi:
DIR [unità:] [percorso] [nome file] [/Interruttori]
Switch |
What Is does |
none |
By default, DIR displays:
- a header comprising the disk's volume label and serial number;
- a list of all files and subdirectories in the current directory in the order they are listed in the FAT except those marked 'hidden' and/or 'system'. Along with each file/directory is its size, date/time of last modification, and long file name;
- a footer comprising the total number of files listed, their cumulative size, and the free space (in bytes) remaining on the disk.
|
/A [attributes] |
Displays files with and without specified attributes. Multiple attributes can be specified with no spaces between them.
attributes (Using the "-" as a prefix specifies "not")
D Directories
R Read-only files
H Hidden files
A Files modified since last back-up
S System files |
/O
[sortorder] |
List files in sorted order.
If order of sorting is not specified, directories are listed alphabetically followed by files, also listed alphabetically. Any combination of sorting order keys can be specified and files will be sorted in the order of the keys.
sortorder (Using "-" as a prefix reverses the order)
N By name (alphabetic)
S By size (smallest first)
E By extension (alphabetic)
D By date & time (earliest first)
G Group directories first
A By Last Access Date (earliest first) |
/S |
Displays Files in the specified Directory and all its Subdirectories |
/W |
Wide list format. File and Directory names are listed in 5 columns |
/B |
Bare format. Files and Directories are listed in a single column without header, summary, or any details. |
/L |
Output is in lowercase. |
/P |
Pauses with each screen, full of information. Press any key to see the next screen. |
/V |
Forces to Verbose mode. This displays attributes, date last accessed, and disk space allocated for each file, in addition to the standard information. |
/Z |
Long file names are not displayed in the file listing. |
/4 |
Displays the date as four digits rather than two. |
Il comando DIR accetta solo un percorso come parametro. I nomi di file e directory lunghi 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 del punto (.) per mostrare le directory di livello superiore. Se vengono utilizzati più punti di quelli necessari per mostrare la directory principale, le directory e i file.
Quando si utilizza il reindirizzamento per inviare l'output del comando DIR a un file o un altro comando, è spesso utile utilizzare /A:-D per elencare solo i file e /B per evitare informazioni estranee come dimensioni dei file, intestazioni e informazioni riassuntive. Inoltre quando l'output di un comando DIR viene reindirizzato tramite una pipe, viene creato un file temporaneo che viene automaticamente cancellato una volta completata l'operazione.
Per impostazione predefinita, questo file temporaneo si trova nella directory specificata da "TEMP" variabile ambientale ma, se questa non è specificata o non può essere trovata, verrà creata nella directory corrente dell'unità corrente. Se il comando DIR fa riferimento anche alla directory corrente, tutti i file temporanei verranno prelevati e inclusi nell'elenco.
COPIA DISCO
DISKCOPY viene utilizzato per duplicare i floppy disk. Tutti i dati sul disco di destinazione vengono sovrascritti.
Sintassi:
DISKCOPY unità 1: [unità 2:] [/1] [/V] [/M]
unità1 Unità contenente il disco da e su cui copiare, se il computer dispone di una sola unità floppy.
drive2 Drive contenente il disco su cui copiare se diverso da
unità1.
/1 Copia solo il primo lato del disco.
/V Verifica che le informazioni siano state copiate correttamente.
/M Forza la copia in più passaggi utilizzando solo la memoria.
DISKCOPY è progettato per duplicare i floppy disk standard eseguendo una copia byte per byte del disco di origine sul disco di destinazione. DISKCOPY non funziona con dischi rigidi, CD, unità di rete o unità di tipo Zip, Jazz, ecc. Inoltre, va tenuto presente che i dischi di origine e di destinazione devono essere dello stesso tipo, dimensione e capacità. In caso contrario, viene visualizzato un messaggio di errore:
MODIFICA
È un semplice editor di testo ASCII DOSased 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 il tuo
hardware.
/R Carica file in modalità di sola lettura.
/S Forza l'uso di nomi di file brevi.
nnn Carica file binari, avvolgendo le righe in nnn caratteri.
nomefile Specifica i file iniziali da caricare. È possibile utilizzare anche i caratteri jolly.
Per vedere l'elenco dei tasti di scelta rapida puoi vedere la "Aiuto" menu dell'editor.
ESCI
In caso di DOS di ambiente Windows, il comando EXIT viene utilizzato per uscire dalla shell DOS altrimenti se si parla in generale, Esce dall'interprete dei comandi MS-DOS (COMMAND.COM) e ritorna al programma che ha avviato l'interprete dei comandi, se presente esiste.
Sintassi
ESCI
FC
Confronta due file o insiemi di file e visualizza le differenze tra loro.
Sintassi:
FC [/Interruttori] file1 file2
Switch |
What It does |
/B |
Performs a binary comparison.
The two files are compared byte by byte and there is no attempt to resynchronize the files after finding a mismatch. This is the default mode for comparing files when file1 has an extension of .EXE, .COM, .SYS, .OBJ, .LIB and .BIN or similar to it. |
/L |
Compares files as ASCII.
The two files are compared line by line and FC attempts to resynchronize the files after finding a mismatch. This is the default mode for comparing files when file1 does not have an extension of .EXE, .COM, .SYS, .OBJ, .LIB and .BIN or similar to it. |
/LBn |
Sets the number of lines for the internal line buffer.
If the files being compared have more than this number of consecutive differing lines, FC cancels the comparison. Default value of n is 100 |
/nn |
The number of consecutive lines that must match before the files are declared resynchronized. If the number of matching lines in the files is less than this number, the matching lines are displayed as differences. Default value of nn: 2. |
/N |
Displays the line numbers on an ASCII comparison. |
/A |
Abbreviates the output of an ASCII comparison. Only the first and last line for each set of differences is displayed as opposed to the default of every different line. |
/C |
Disregards the case of letters. |
/T |
Does not expand tabs to spaces.
By default, tabs are treated as spaces with 1 tab = 8 spaces. |
/W |
Compresses tabs and multiple spaces to a single space for the comparison. |
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 file1 corrispondente. 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ù veloce 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 Risparmio di tempo e battitore:
FC c:\windows\command\xcopy.exe c:\windows\command\attrib.exe
FC c:\windows\command\xcopy.exe c:\windows\command\attrib.exe /L
FC c:\windows\command\xcopy.exe c:\windows\command\attrib.exe /L /LB1
FDISK
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, ad esempio dati.
Prima che un disco rigido possa essere riconosciuto da DOS, è necessario stabilire 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 da:
- Una partizione primaria e/o
- Una partizione estesa
Una partizione estesa deve essere designata come contenente una o più unità DOS logiche. Se rimuovi le partizioni, distruggerai tutto su di esse o, almeno, renderai molto difficile il recupero dei dati. Impareremo di più su Fdisk nella sezione relativa alla programmazione del ripristino di questo libro.
TROVA
Il comando TROVA viene utilizzato per cercare una stringa di testo in uno o più file. Dopo aver cercato i file specificati, TROVA mostra tutte le righe di testo che contengono la stringa.
Sintassi:
TROVA [/V] [/C] [/N] [/I] "stringa" "nomefile1" "nomefile2" "nomefile..."
Switch |
What It Does |
/V |
Displays all lines NOT containing the specified string. |
/C |
Displays only a count of lines containing the string. If used with /V, FIND displays a count of the lines that do not contain the specified string. |
/N |
Displays line numbers with the lines. If /C and /N are used together, /N is ignored. |
/I |
Ignores the case of characters in string. By default FIND is case sensitive and searches for an exact character match. |
string |
The text string to be found. String must be in inverted commas. |
filename |
The file(s) to be searched. If filename does not contain spaces, it does not need to be enclosed in inverted commas. |
Se il nome del file non è specificato, FIND ricerca l'input di testo dalla sorgente standard che di solito è la tastiera, una pipe o un file reindirizzato. I caratteri jolly non sono accettati nel nome del file. Inoltre, poiché le virgolette vengono utilizzate per delimitare una stringa, non possono essere utilizzate all'interno di una stringa come parte del modello di ricerca.
Per includere le virgolette all'interno di una stringa, è necessario utilizzare il "carattere speciale" di doppie virgolette ("") che FIND interpreta come virgolette nella stringa di ricerca. Vediamo alcuni esempi:
Per visualizzare tutte le righe del file "NOTES.TXT" che contiene la stringa "compiti a casa":
TROVA "compiti" note.txt
Se la stringa contiene virgolette, queste devono essere raddoppiate:
TROVA "Il risultato di ""B.E. Ultimo anno"" non è stato visualizzato." Risultato.doc
FORMATO
Formatta un disco per l'uso con MS-DOS. Ricorda sempre che i dati memorizzati nel disco verranno cancellati dopo la formattazione. Fai attenzione e assicurati prima di utilizzare il comando format e ricorda sempre di vedere quale lettera di unità stai inserendo nel comando FORMAT.
Sintassi:
FORMATO unità: [/Interruttori]
Switch |
What It does |
/V[:label] |
Specifies a volume label. If the /V switch is omitted, or label is not specified, a prompt for a volume label is displayed after formatting is completed. If no volume label is required, the prompt can be avoided by specifying: /V:""
If a label is specified and more than one disk is formatted in a session, all of the disks will be given the same volume label. |
/Q |
Forces the Quick format of a previously formatted disk. The file allocation table (FAT) and root directory of the disk is deleted but it is not scanned for bad areas. |
/S |
Copies system files to the formatted disk to make it a boot disk. |
/B |
Allocates space on the formatted disk for system files. |
/F:size |
Formats a disk to a capacity other than that for which the drive was designed. Size can be: 360, 720, 1.2, 1.44, and 2.88. |
/T:tracks |
Specifies the number of tracks per disk side. |
/N:sectors |
Specifies the number of sectors per track. |
/1 |
Formats a single side of a floppy disk. |
/4 |
Formats a 5.25-inch 360K floppy disk in a high-density drive. |
/8 |
Formats eight sectors per track |
/C |
Tests clusters that are currently marked "bad." By default, if a disk contains clusters that have been marked as "bad", FORMAT does not retest the clusters; it simply leaves them marked "bad". |
Per impostazione predefinita ea meno che non venga utilizzata l'opzione /Q; ogni settore del disco viene controllato durante il processo di formattazione per garantire che il settore possa memorizzare correttamente i dati.
Se viene individuato un settore danneggiato, viene contrassegnato e non viene utilizzato. Al termine della formattazione, viene visualizzato un messaggio che mostra lo spazio su disco totale, lo 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 rapido per riformattare un floppy è:
ren /? | formato /q/v:"" > nulla
Il ren /? parte alimenta, insieme a un carico di materiale ridondante, un "invio", seguito da un "n, invio" in risposta alle richieste di FORMAT. Il >nul impedisce la visualizzazione dell'output confuso un po' disordinato dei due comandi.
ETICHETTA
Il comando LABEL viene utilizzato per creare, modificare o eliminare l'etichetta del volume di un disco. L'etichetta del volume di un disco viene visualizzata come parte dell'elenco di directory insieme al numero di serie del volume, se esistente.
Sintassi:
ETICHETTA [unità:] [etichetta]
Drive: la posizione del disco da nominare.
Etichetta La nuova etichetta del volume.
Nessuno Visualizza l'etichetta del disco corrente, se esistente. Richiede di inserire una nuova etichetta o eliminare quella esistente
MD (o MKDIR)
Crea una directory. MD e MKDIR svolgono le stesse attività.
Sintassi:
MD [percorso] nome directory
ALTRO
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:
MORE [path] filename
MORE < [path] filename
command | MORE [path] [filename]
command a command whose output is to be displayed.
File di nome file da visualizzare una schermata alla volta
ALTRO nome file e ALTRO < nomefile sono sinonimi ed equivalenti a TYPE nomefile | DI PIÙ. In tutti questi casi il nome del file viene visualizzato una schermata alla volta. Premendo "Invio" visualizza la schermata successiva. La visualizzazione può essere interrotta in qualsiasi momento premendo Ctrl-C. ALTRO avvolge automaticamente il testo per adattarlo 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:
TYPE bigfile.txt | MORE
MORE bigfile.txt
MORE < bigfile.txt
MUOVITI
Sposta file e directory da una posizione all'altra sulla stessa unità o su unità diverse.
Sintassi:
SPOSTA [/Y | /-Y] [percorso] destinazione nome file
/Y Elimina la richiesta di conferma della creazione di una directory o la sovrascrittura della destinazione. Questa è l'impostazione predefinita quando MOVE viene utilizzato in un file batch.
/-Y Forza una richiesta di conferma della creazione di una directory o la sovrascrittura della destinazione. Questa è l'impostazione predefinita quando si utilizza MOVE 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] nome directory
Se è presente una barra rovesciata ( \ ) prima del nome della prima directory nel percorso, tale directory è considerata una sottodirectory della directory principale sull'unità corrente. Se non è presente una barra rovesciata prima del nome della prima directory nel percorso, la directory viene considerata una sottodirectory della directory corrente.
Anche RD cancellerà solo una directory vuota. Se RD viene utilizzato in una directory contenente file e/o sottodirectory, il computer visualizza un messaggio di errore.
SCANDISK
Esegue il programma di riparazione del disco SCANDISK.
Sintassi
Per controllare e riparare l'unità corrente:
SCANDISK
Non eseguire la scansione del disco con CHKDSK o SCANDISK o qualsiasi altro programma di scansione del disco se il disco si è bloccato o se sono presenti errori logici nei settori di avvio come MBR, DBR, FAT o le directory principali sono danneggiate. Potrebbe renderti le informazioni sui dati distorte e può rendere difficile il recupero. Non solo, potresti non recuperare completamente i dati |
In genere la versione DOS di Scandisk non viene eseguita 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, reindirizza l'output da un comando TYPE a MORE. Vediamo alcuni esempi:
Per visualizzare i contenuti di ROMI.TXT:
TIPO romi.txt
Se il file è troppo lungo per essere contenuto in una singola schermata:
TIPO romi.txt | ALTRO
XCOPY
Questo comando è uno dei comandi più importanti quando vuoi eseguire il backup dei tuoi dati importanti o anche se vuoi creare l'immagine dell'intero disco per copiare file e alberi di directory.
XCOPY è simile al comando COPY tranne per il fatto che ha molte più opzioni che consentono un controllo considerevole su ciò che viene copiato esattamente quando si utilizzano i caratteri jolly.
Sintassi:
Sorgente XCOPY [destinazione] [/Interruttori]
fonte I file e le directory da copiare. È possibile utilizzare caratteri jolly (* o ?).
destinazione Il percorso e/oi nomi dei nuovi file. Se la destinazione viene omessa, i file vengono copiati nella directory corrente. Se la destinazione fa riferimento a una directory che non esiste, la directory viene creata. Per impostazione predefinita, XCOPY limiterà il suo funzionamento ai file nella directory di origine.
Switch |
What it does |
/E |
Copies the complete subdirectory structure of source and all files therein. |
/S |
Copies the complete subdirectory structure of source and all files therein but does not copy empty subdirectories. |
/T |
Copies the subdirectory structure of source but does not copy any files and does not copy empty subdirectories. To include empty subdirectories, use with the /E switch. |
/A |
Only copies files with the archive attribute set. |
/M |
Only copies files with the archive attribute set, turning off the archive attribute of the source files. |
/H |
Includes files with hidden and system attributes set. |
/K |
Copies files without resetting the read-only attribute, if set. |
/R |
Overwrites read-only files. |
/U |
Only copies files in source that already exist in destination. Can be used with /D to update files with more recent versions. |
/D:date |
Only copies files with a 'last modified date' the same as, or later than, date. If date is not specified, all files are copied except for same-named files in the destination directory that have a more recent 'last modified date' than the one in source. |
/I |
Forces destination to be treated as a directory. The file/directory prompt is suppressed. |
/Y |
Overwrites existing files without prompting. |
/-Y |
Prompts before overwriting existing files. |
/W |
Displays a prompt before starting to copy files. |
/P |
Prompts for confirmation before creating each destination file. |
/F |
Displays full source and destination file names while copying. |
/Q |
Does not display file names or any other messages while copying. |
/C |
Continues copying even if errors occur. |
/L |
Displays files to be copied but does not actually copy them. |
/N |
Copy using the generated short names. This is necessary when copying from a VFAT volume to a FAT volume. |
/V |
Verifies that new files are readable. |
Per impostazione predefinita, XCOPY non copia i file con attributi di sistema o nascosti impostati e anche le copie di 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 richiede prima di sovrascrivere i file nella destinazione con i file nell'origine con lo stesso nome.
XCOPY richiede anche istruzioni in caso di ambiguità sul fatto che la destinazione sia una directory o un file. Viene visualizzata un'ambiguità quando la destinazione non fa riferimento a una directory esistente o termina con un "\ ". Ad esempio, una destinazione di nome.ext potrebbe essere un file o una directory. Impariamo meglio con i seguenti esempi.
Per copiare tutti i file e le sottodirectory dalla directory delle note al disco nell'unità a:
xcopy c:\notes a: /s
or
xcopy c:\notes\*.* a: /s
Per copiare tutti i file e le sottodirectory dalla directory delle note creata o modificata dal 9 dicembre 2002 al disco nell'unità a:
xcopy c:\notes a: /s /d:9/12/02
Creazione dell'"immagine di guida"
Se desideri eseguire il backup dell'intera unità su un altro disco o se desideri creare un'immagine dei dati dell'unità "incluso il sistema operativo e altro software installato" su un altro disco rigido, prova questo:
C:\> Xcopy * D: \I\E\C\H
Qui D: dovrebbe essere la partizione attiva di un altro disco rigido. Questo copierà tutti i dati dell'unità origine (incluso il sistema operativo installato, il software, il documento ecc.) come immagine nell'unità Destinazione.
E dopo questo, se avvii il tuo computer con l'unità destinazione , funzionerà come l'unità origine funzionava e mostrerà tutti i dati che eri nel disco fonte .
Scorciatoie delle specifiche, caratteri jolly e reindirizzamento
Scorciatoie
Un certo numero di comandi DOS riconoscono determinate scorciatoie durante la navigazione tra le directory. I più noti di questi sono:
Shortcut |
Why to use it |
. |
to refer to the current directory |
.. |
to refer to the parent directory |
\ |
to refer to the root directory of the current drive. |
drive: |
to refer to the current directory on drive |
Cerchiamo di capirlo con l'aiuto di esempi. Se la directory corrente sull'unità c: è c:\windows\java\notes, allora dir c: at the a:\> prompt 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 ?). Generalmente termini, * si riferisce a più caratteri e ? fa riferimento a un singolo carattere nel nome di un file o di una directory.
Questo è il motivo per cui non possiamo usare questi caratteri nel nome di nessun file. Questi caratteri speciali sono / \ : * ? < > “ | che non dovrebbe essere provato a inserire in un nome di file. La tabella seguente mostra l'uso dei caratteri jolly:
Wildcard |
What it does |
*.* |
All files with all extensions. |
*data*.* |
All files with "data" anywhere in its name. |
*array.* |
All files with names ending with "array" |
note?.cpp |
All files named "note" plus one character and with .CPP extensions. This file may be note1.cpp, but not note.cpp. |
?t*.* |
All files with an "t" as second letter in their names |
Va notato che non tutti i comandi gestiscono i caratteri jolly esattamente allo 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. Pertanto, se la directory corrente è D:\windows\java\notes, EDIT " " creerà un file in quella directory chiamato "note".
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 dice che manca un parametro richiesto.
A differenza di EDIT, è possibile includere un percorso e, in tal caso, non sono richiesti spazi tra virgolette. cioè per eliminare tutti i file nella directory corrente:
CANC ./"" funziona, ma DEL "" dà un messaggio di errore.
COPIA vede anche " " come *.* e, come DEL, accetta un percorso con esso. A differenza di DEL, deve esserci sempre uno spazio tra le virgolette, anche quando è incluso un percorso
Reindirizzamento
Un certo numero di comandi DOS invia l'output allo schermo e/o richiedono l'input dell'utente. Il reindirizzamento è un meccanismo mediante il quale l'output di un comando può essere inviato a qualche altro dispositivo, ad esempio una stampante o un file, oppure a un altro programma o comando.
Ci sono quattro funzioni di reindirizzamento:
> |
Redirect output |
>> |
Append |
< |
Redirect input |
| |
Pipe |
>
Reindirizza l'output di un comando dal "dispositivo di output standard" (solitamente il monitor) su un altro dispositivo (es. stampante) o un file.
Sintassi:
Per reindirizzare l'output a un dispositivo:
Comando > Dispositivo
Per reindirizzare l'output a un file:
Comando > Nome file
I nomi dei dispositivi accettabili sono CON (Monitor), PRN (LPT1 - che si presume sia la stampante), LPT1 - 3 (Porte parallele - generalmente collegate a una stampante), COM 1 - 4 (Porte seriali) e NUL (un nullo 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 nome file specificato, viene sovrascritto senza alcun avviso. Vediamo alcuni esempi per capirlo meglio.
Probabilmente l'uso più comune di questa funzione di reindirizzamento è inviare elenchi di directory alla stampante o salvarli come file. Per stampare un elenco ordinato di directory 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 il nome del file non esiste, viene creato. Se Filename esiste, l'output del comando viene aggiunto ad esso, a differenza di > funzione in cui i contenuti originali vengono sovrascritti. Cerchiamo di capirlo meglio con l'esempio.
Per aggiungere l'elenco delle directory dei file nella directory c:\windows\system a quello creato in precedenza:
DIR c:\windows\sistema /o/a >> d:\windows.txt
<
Dirige l'input a un comando da un'origine diversa da quella predefinita. La sorgente predefinita di solito è la tastiera.
Sintassi:
Comando < Origine dati
È usato generalmente nella programmazione batch. Cerchiamo di capirlo con l'esempio. La seguente procedura del comando DEBUG viene utilizzata per eseguire il backup di MBR dove MBR.BIN è il nome del file di backup creato dopo questa esecuzione.
debug mbr.bin
A
MOV DX, 6000
MOV ES, DX
XOR BX, BX
MOV DX, 0080
MOV CX, 0001
MOV AX, 0201
INT 13
INT 20
<Enter>(type nothing)
G
R CX
200
W 6000:0000
D
A questo con l'aiuto del file batch creiamo due file batch, uno contenente l'istruzione del comando per avviare il comando DEBUG e l'altro per memorizzare altre istruzioni che verranno inviate al comando DEBUG come input. Questo file sarà l'origine dati per il primo file. Vediamo come:
C:\ mbr.bat
Ora vediamo cosa contiene questo MBR.BAT.
MBR.BAT |
DEBUG mbr.bin < ttsource.bat |
E ovviamente il secondo file chiamato TTSOURCE.BAT funzionerà come origine dati per questo e conterrà le seguenti istruzioni:
TTSOURCE.BAT |
A |
MOV DX, 6000 |
MOV ES, DX |
XOR BX, BX |
MOV DX, 0080 |
MOV CX, 0001 |
MOV AX, 0201 |
INT 13 |
INT 20 |
<enter> (Type Nothing) |
G |
R CX |
200 |
W 6000:0000 |
Q |
|
La pipe reindirizza l'output di un programma o comando a un secondo programma o comando.
Sintassi:
Comando1 | Comando2
Vediamo un esempio di digitazione di un lungo file di testo:
digita file.txt |altro
Pagina modificata il: 10/03/2022