PDA

View Full Version : Chi mi aiuta per fare un .BAT per DOS??? Ve ne sarei molto g


PIRATA!
12-02-2002, 01:57
Allora.
Di hardware ci posso anche capire, ma riguardo alla programmazione faccio ancora abbastanza schifo.Qualcosa riesco a fare in DOS, ma quello che sto per descrivervi non lo riesco ancora a fare.

Il mio problema è fare un AUTOEXEC.BAT di un dischetto di boot che mi 'chieda' se voglio eseguire una particolare applicazione dos.

Tutto è nato dal fatto che l'applicazione in questione, che chiameremo PIPPO.EXE (per capirci :)), non riesce a stare sullo stesso floppy dove risiede l'AUTOEXEC.BAT per questioni di spazio, e quindi ho dovuto metterla da sola su di un secondo floppy.

Ora... l'AUTOEXEC.BAT mi dovrebbe chiedere se voglio eseguire quella applicazione PRIMA che finisca di essere caricato, visto che vorrei che questo caricasse un altra applicazione che chiameremo PLUTO.EXE (la quale invece risiede sullo stesso floppy dove risiede l'AUTOEXEC.BAT) se decido di NON caricare PIPPO.EXE. E' da notare che PLUTO.EXE è scritto nell'ultima riga dell'AUTOEXEC.BAT, quindi non mi pare che ci siano problemi nel fare questo script. Basta interporlo tra il contenuto dell'AUTOEXE.BAT e la sua ultima riga.

Ora... la cosa è un pochetto complicata (per me) quindi vi prego di autarmi.

Ecco cosa vorrei che facesse l'AUTOEXEC.BAT quando arriva PRIMA della sua ultima riga:


Vuoi eseguire questa applicazione? (Yes/No)

Se digito Y:

Inserire il floppy numero 2 e premere un tasto a caso quando siete pronti:

Ora... se il floppy è quello sbagliato (mettete caso) perchè non trova il file PIPPO.EXE, vorrei che mi dicesse:

Floppy sbagliato: (Retry/Abort)

Notate le 2 sole possibilita!! Vorrei che mi chieda cosa fare perchè se per puro caso ho sbagliato precedentemente a digitare Y, in questo modo posso annullare la rischiesta di inserire il floppy numero 2 e così continiare a finire di caricare il mio AUTOEXEC.BAT premendo A per Abort, e così caricarmi PLUTO.EXE

Questo stesso messaggio vorrei che venisse ripetuto in loop ogni volta che sbaglio floppy se continuo a premere R per Retry ogni volta.


Se invece il floppy è quello giusto, vorrei che eseguisse l'applicazione (PIPPO.EXE).

Se invece premo N:

Allora il mio AUTOEXEC.BAT continua a caricarsi ed andrà a completarsi caricando la sua ultima riga che riguarda l'esecuzione di PLUTO.EXE.


Mi sembra che sia semplice a farsi un .BAT del genere.
Io non sono buono, ma tempo fa ho avuto ra le mani floppy con .BAT più complicati.

AH! DIMENTICAVO!! A me serve che i messaggi siano in lingua inglese, lettere da digitare comprese (Yes/No, Retry/Abort). Al massimo posso editare il .BAT e tradurmelo da me. Fin qui ce la faccio. :)

Vi prego di aiutarmi. Ve ne sarei MOLTO grato.
Grazie anticipatamente.

atragon
12-02-2002, 10:47
Per le selezioni si usa il comando CHOICE , qualcosa del tipo

ECHO A = ESCI
ECHO B = RICOPRI
CHOICE /C:AB SELEZIONA

per verificare l'esistenza di un file si può usare

IF EXIST A:PIPPO.EXE ECHO ....

atragon
12-02-2002, 10:51
Per le selezioni si usa il comando CHOICE , qualcosa del tipo

ECHO A = ESCI
ECHO B = RICOPRI
CHOICE /C:AB SELEZIONA

per verificare l'esistenza di un file si può usare

IF EXIST A:PIPPO.EXE ECHO .... quel che vuoi oppure GOTO da qualche altra parte nel batch.
I messaggi sono legati alla versione di sistema operativo, per quanto ne so se è in italiano accetta solo S/N non Y/N o altri...non so se sia possibile personalizzare o schermare in qualche modo.

kingv
12-02-2002, 11:06
occhio che CHOICE non esiste piu' sotto nt (e penso neanche sotto 2k)
su nt ti devi scaricare il resource kit, su 2k non so

kingv
12-02-2002, 11:08
Ho letto ora che e' per un floppy di boot, lasciate perdere il commnto precedente :)

PIRATA!
12-02-2002, 13:38
Grazie.
Ma non riesco a levarci le gambe comunque.
Nessuno che può dirmi di più?
Grazie ancora.

kingv
12-02-2002, 14:17
Originariamente inviato da PIRATA!
[B]Grazie.
Ma non riesco a levarci le gambe comunque.
Nessuno che può dirmi di più?
Grazie ancora.


Guarda che ti ha detto tutto quello che serve per risolvere il tuo problema...

cat78
12-02-2002, 21:10
kingv ha ragione, cmq ti posto il codice che avrei scritto io se avessi avuto il tuo problema ;)

@ECHO OFF

REM Qui ci sta altro codice dell'autoexec...

CHOICE /C:YN Start application "pippo.exe"
IF ERRORLEVEL 2 GOTO NOAPP

REM Questo codice, fino alla label NOAPP, viene eseguito se digiti "Y"

ECHO Insert disk with "pippo.exe" in A:
PAUSE
:CHECK
IF EXIST pippo.exe GOTO STARTAPP

ECHO Can't find application "pippo.exe" in A:
CHOICE /C:RA Would you Retry or Abort
IF ERRORLEVEL 2 GOTO NOAPP
GOTO CHECK

:STARTAPP
pippo.exe

:NOAPP
pluto.exe


Byez :)

PIRATA!
13-02-2002, 00:57
Grazie mille!
Stasera lo provo subito e poi ti faccio sapre.
Ciaoo!!

Wales
25-09-2002, 13:31
Ciao a tutti! Approfitto di questo vecchio thread perchè non so come si fa una cosa... :D

Dovrei realizzare un autoexec.bat (da masterizzare insieme alle immagini di Ghost) che all'avvio del PC (da cd-rom) mi avvii direttamente Ghost... Praticamente non vorrei dovermi affidare (e fidare) sempre del floppy di Ghost...

Si può fare? Ho dato un'occhiata all'autoexec.bat del disco di ripristino, ma non ci capisco nulla... Pirata! rispetto a me è un grande conoscitore di programmazione!!! (senza offesa, eh?) :eek: ;)


Ciao e grazie!