Prima lezione di DOS: generale e echo

Benvenuti alla prima lezione di DOS! Ho deciso di scrivere delle lezioni di DOS perchè quando cercai una guida su internet

per impararlo (a 12 anni) non ne ho trovata nemmeno una decente e anche adesso la situazione non è migliorata.

 

Il DOS che studieremo è l’ MS-DOS (MicroSoft DOS), ovvero il DOS sviluppato da Microsoft,

più precisamente quello di Windows XP/Vista/7.

 

ATTENZIONE: lo vedremo dopo ma quando menzionerò i “parametri” ma nei parametri di istruzioni in Vista/7 dovete sempre inserire “/” invece che “-“. Ricordatelo! (es. XP: shutdown -s Vista/7: shutdown /s )


Infatti il “DOS” (Disk Operating System, infatti prima di accendere il pc bisognava inserire il disco con le istruzioni) era il sistema operativo dei vecchi computer IBM e anche quello di Windows fino alla versione 3.1

Da Windows 95/NT in poi il DOS non era più il sistema operativo in quanto nacque l’interfaccia grafica ma era ed è mantenuto all’interno di Windows come linguaggio di scripting (cioè che va interpretato da un altro programma, in quanto non è in linguaggio macchina) per eseguire particolari azioni e come abbinamento agli script bat.

compatibilità.

Il linguaggio viene modificato e migliorato con le diverse

versioni di Windows.



Innanzitutto il DOS si basa sul prompt dei comandi e sugli script batch.


Il prompt dei comandi ha il compito di interpretare i comandi che impartiamo al pc e va raggiunto scrivendo su start>esegui

cmd

e poi premendo “OK”. (in Vista/7 Basta scriverlo dal menu start)


Gli script batch sono file eseguibili scritti tramite il blocco note e salvati con estensione .bat che danno i comandi scritti al loro interno al prompt (che li interpreta).


Possiamo scrivere i comandi sia dal prompt, sia in uno script batch, che comunque non farà altro che mandare i programmi al prompt.

In realtà qualche differenza c’è, ma la vedremo in seguito.

 

Per salvarli dal blocco note occorre SEMPRE:

Salvare il file con il nome che vogliamo ma con estensione .bat

In “Salva come:” selezionare “Tutti i file”

 

screenshot.35.jpg


Il primo comando (o istruzione) che studieremo è echo


echo è fondamentale perchè permette di nascondere il percorso del file batch e i commenti scritti con un altra istruzione che studieremo più tardi.

Normalmente l’echo è attivo.

Questo significa che vedremo il percorso dove ci troviamo:

attivo:

 

screenshot.2.jpg

 


disattivo:

screenshot.5.jpg


Nella riga sottostante possiamo continuare a scrivere istruzioni senza visualizzare il percorso.

Per disattivare l’echo basta scrivere

echo off

Nel prompt e vedrete subito la differenza.

Per attivarlo basta scrivere

echo on

Per visualizzare lo stato dell’echo basta scrivere

echo

 

screenshot.8.jpg

 

 

 

echo permette anche di stampare a schermo dei messaggi.

Questi vanno scritti per forza in un file bat, possono essere scritti dal prompt ma avrebbero poco senso:

 

screenshot.10.jpg

 

 

Aprite il blocco note o create un Nuovo documento di testo (tasto dx>nuovo>documento di testo), (non un documento di Microsoft Office Word) e apritelo.

E’ meglio disattivare l’echo quindi scriveremo:

@echo off

echo Ciao

Andate su File>Salva con nome e salvatelo come Nome che vuoi.bat (ricordate di mettere sempre il .bat alla fine)

Selezionando in “Salva come:” “Tutti i file”

Poi apritelo con il solito doppioclick.


Cosa succede? Niente? Eh si perchè dato che il prompt dei comandi esegue le operazioni in serie, dopo “echo Messaggio” non c’è nient’altro e quindi lo script si chiude:

@echo off    // prima operazione: fatto

echo ciao    // seconda operazione: fatto

// non c’è nient’altro!: fine dello script

Per impedirlo si usa pause:

@echo off

echo Ciao!

pause


Adesso funziona!:

@echo off    // prima operazione: fatto

echo ciao    // seconda operazione: fatto

pause        // terza operazione: mi fermo fino a che l’utente non preme un tasto

Per scrivere un messaggio basta scrivere echo e poi il messaggio che volete.

pause interrompe l’esecuzione di uno script finchè non premete un tasto.


Ma che fastidio la scritta “Premi un tasto per continuare…”!!

Per rimuoverla si usa >nul che può essere utilizzato

non solo su pause ma su tutti i comandi che generano scritte:

 

@echo off

echo Ciao!

pause>nul

 

Ma se volessi andare a capo?

Per andare a capo basta scrivere

echo.

Stessa cosa per saltare una riga

 

@echo off

echo Ciao come stai?

echo. Bene, grazie

pause>nul

 

O esempio 2:

 

@echo off

echo. Ciao come stai?

echo.

echo. Bene, è un bel periodo, grazie

pause


Porca miseria! Cosa sono quei segnacci che compaiono al posto delle lettere accentate!

E’ meglio non scrivere le lettere accentate, dato che non verranno visualizzate correttamente;

basta sostituire l’accento con un apostrofo:

es.

è    =    e’

Il fatto è che gli accenti sono caratteristici della lingua italiana

e non dell’inglese!


Ricapitolando:

echo on attiva l’echo

echo off disattiva l’echo

echo visualizza lo stato dell’echo

echo Messaggio Stampa a schermo un messaggio

echo. Va a capo

pause interrompe l’esecuzione di uno script

>nul nasconde le scritte


ESERCIZI (per verificare se avete capito la lezione, sono a vostra discrezione e sarebbero da provare e riprovare finchè non si è riusciti, oppure chiedere aiuto nel forum iTrucid di lato):

1) Crea un file bat che stampi a schermo “Hello World”

in modo tale che si visualizzi la scritta “Premi un tasto per continuare…”


2) Crea un file bat che stampi a schermo “Hello World”

in modo tale che non visualizzi la scritta “Premi un tasto per continuare…”


3) Crea un file bat che visualizzi a schermo:


Ciao!

Il mio nome è Alessandro

Il tuo?


Senza strani segni e correttamente.


Alla prossima lezione

Prima lezione di DOS: generale e echoultima modifica: 2009-04-22T10:12:00+02:00da itrucid
Reposta per primo quest’articolo

12 pensieri su “Prima lezione di DOS: generale e echo

  1. Bruttissima guida, con molte informazioni errate. Ad esempio:@echo offecho Ciao come stai?*echo. Bene, grazie*pausesarebbe MOLTO meglioecho.echo Bene, grazieOPPURE”echo permette anche di stampare a schermo dei messaggi.Questi *vanno scritti per forza in un file bat.*”Creare un file batch non è altro che scrivere una lista di comandi che vengono scritti dal pc invece che da te nel prompt e si creano per pura comodità.”pause serve per impedire che il *file*sparisca immediatamente.”Propriamente non sarebbe un file… e poi pause serve per interrompere l’esecuzione di uno script… Non per far stare aperta la finestra perchè se tu invece di fare doppio click su file bat tu lo riachiami dal prompt, la finestra non sparisce neanche…Poi per vari motivi è meglio disattivare l’echo… Ma da quando? Disattivare l’echo è puramente estetico…Comunque il batch non è tanto da imparare… Devi ragionare e provare…Io sto scrivendo un programmino in batch… Alla fine usciranno 300-400 righe…Il batch non è una scienza completamente esatta e non si impara secondo me…Non si impara dalle guide a programmare… Dalle guide impari i comandi ma poi sei tu che li metti insieme…E prendila come una critica costruttiva: questa lezione non spiega bene ed è come tutte le altre che dici tu…Una buona guida è su pierotofy.it… dagli una lettura veloce.

  2. @riccardoPensa quello che credi… ho solo cercato di scrivere una buona guida sul batch e penso di esserci riuscito… non voglio complicare la vita a chi cerca di imparare con definizioni di script e quant’altro, se ti ritieni in grado di scrivere una guida migliore, scrivimi e la publlicherò.Io di tutte queste belle guide non ne ho trovate e quella su pierotofy.it (una delle poche fatte bene in italiano) in molti la trovano complicata ed è per questo che ho deciso di scrivere questa. C’è chi ha imparato qualcosa.Scrivere guide non è semplice e so di non essere particolarmente bravo ma ci provo e qualche risultato lo ottengo.

  3. lo so che non vuoi scrivere una guida complicata…però le informazioni devono essere corrette anche se semplici…in quanto alla guida posso correggere completamente la tua se ti fa piacere…prima ti ho scritto in un modo un po’ brosco… ma in fondo volevo farti una critica costruttiva perchè poi ci sono molti utenti che riempiono il web di programmini in batch che fanno piangere…

  4. I comandi li conoscevo già, ma la guida è molto facile e ricca di elementi! Complimenti!Per il comando pause>nul grazie mille non lo conoscevo, e mi farà utilissimo! Ti stimo!Per caso sai se si può inserire un ritardo a echo TESTO ?

  5. A parte che io ho 11 anni e mezzo e conosco benissimo il linguaggio batch,ho un problema:Ho fatto un programmino di 60 righe e dovrei indicare una cosa tipo echo 100%vado ad eseguirlo ma il percento non c’è piùforse perché viene usato per cose speciali (%USERPROFILE%)come scriverlo?

  6. Ciao, il fatto che tu abbia 11 anni è irrilevante. Trattiamo allo stesso modo persone di 5 e di 90 anni.Comunque, in quel caso il % non viene scritto perché è appunto utilizzato nel linguaggio stesso.Per risolvere basta indicare due simboli attaccati: %%Quindi il tuo codice diventerebbe:echo 100%%e da in output:100%

Lascia un commento