Newsgroup: it.comp.aiuto
Titolo: input da file in un .bat

Con un .bat riesce a settare una variabile di ambiente leggendola da un file?
Piu` in generale si riesce a dare come input un file?
Ad esempio fare una serie di mkdir leggendo l'elenco da un file di testo?
 

...

Mi sa' che usando solo il DOS sara' un po' dura....a meno di non fare
ricorso al DEBUG o al quickbasic (se possono essere considerati ancora
programmazione in DOS...).
Usare il quick basic all'interno di un file .BAT e' abbastanza divertente.
Ad esempio questo codice prende in input due numeri e stampa la loro somma.
Farlo in dos puro e' impossibile, ma aggiungendo un QB:
@ECHO OFF
REM Somma due numeri (poor man calculator)
REM Usare:  SOMMA  n1  n2
REM dove n1 e n2 sono i due numeri da sommare
echo 10 PRINT %1 + %2  > tmp.bas
echo 20 SYSTEM
QB /R TMP.BAS
del tmp.bas
A cosa serve? A niente ovviamente, e' l'idea che e' buona: costruire al volo
il programma basic e poi farlo eseguire. Da notare che da QB e' un casino
vargli vedere i parametri sulla riga di comando, quindi la validita' del
metodo sta' proprio in questo.
Tornando al tuo problema e supponendo di avere il file di testo contenente
la lista delle directory da creare si potrebbe trovare il modo di loop-are
le righe e passarle ad un programma qb da confezionare all'istante, che
esegue magari un 
command.com
 con mkdir..... (certo che a 'sto punto conviene
leggersi il file di testo da qb e fare quello che si deve).
Io l'idea te l'ho data, vedi un po tu....

 )
invece ti dico che prendendo quel .bat e modificando un pochino si
dovrebbe poter fare quello che ti serve.
Bye/ciao
Verno Vito Valerio
ICQ : 700.84.18
ve...@ibm.net
Genoa - Italy

Ad esempio fare una serie di mkdir leggendo l'elenco da un file di testo?
La questione è sempre: "COSA devi fare?"
Per andare al tuo esempio:
CHI lo crea il file con le directory???
COSA ti impedisce di creare le righe completandole col comando MKDIR ???
invece di scrivere:
C:\PIPPO
C:\PIPPO\PLUTO
perché non scrivere direttamente nel file:
MKDIR C:\PIPPO
MKDIR C:\PIPPO\PLUTO
e poi dandogli l'estensione .BAT eseguirlo anche all'interno di un altro batch col comando CALL xxx.BAT
--
€r Roscio.

), cui rinvio
per maggiori notizie e riferimenti, ecco cosa si potrebbe fare:
poniamo che il file LIST.TXT contenga una lista di directory da creare
(una directory ogni riga, SENZA interlinee finali...)
###inizio CREADIR.BAT###
@echo off
COPY LIST.TXT LIST2.$$$ > NUL
COPY LIST2.$$$ LIST1.$$$ > NUL
IF EXIST LIST2.$$$ GOTO Vai
ECHO.
ECHO Non esiste il file LIST.TXT!
GOTO Fine
:Vai
REM > TEMPDEL.BAT
ECHO NDELCMD.$$$> MAKEDEL.SCR
ECHO F 100 L 9 " ">> MAKEDEL.SCR
ECHO E 100 "MKDIR">> MAKEDEL.SCR
ECHO RCX>> MAKEDEL.SCR
ECHO 9>> MAKEDEL.SCR
ECHO W>> MAKEDEL.SCR
ECHO Q>> MAKEDEL.SCR
DEBUG < MAKEDEL.SCR > NUL
DEL MAKEDEL.SCR
:Loop
COPY DELCMD.$$$ + LIST1.$$$ LIST2.$$$ > NUL
TYPE LIST2.$$$ | FIND "MKDIR" > LIST3.$$$
TYPE LIST3.$$$
COPY TEMPDEL.BAT + LIST3.$$$ > NUL
DEL LIST3.$$$ > NUL
TYPE LIST2.$$$ | FIND /V "MKDIR " > LIST1.$$$
DEL LIST2.$$$ > NUL
COPY LIST1.$$$ LIST2.$$$ > NUL
IF EXIST LIST2.$$$ GOTO Loop
DEL DELCMD.$$$
DEL LIST1.$$$
ECHO.
ECHO Premere Ctrl+C se NON vuoi creare le directory sopra elencate,
altrimenti
PAUSE
CALL TEMPDEL.BAT
DEL TEMPDEL.BAT
ECHO Le directory elencate nel file LIST.TXT sono state create.
GOTO Fine
:Fine
@ECHO ON
###fine###
Ovviamente puo' essere migliorato... volutamente ho modificato lo
stretto indispensabile del listato di cui al messaggio citato.
Ciao :-)
Greg
gbia...@computering.it
gy...@geocities.com
http://www.geocities.com/Athens/Aegean/3276/
[NB: l'indirizzo del campo from e' modificato]

riga di comando, quindi la validita' del metodo sta proprio in questo.
Con COMMAND$ e MID$ non tanto...
