Discussione:
Comando FIND
(troppo vecchio per rispondere)
Febo
2007-10-08 00:19:17 UTC
Permalink
Ciao a tutti.
Ho il problema di gestire il risultato di FIND all'interno di un batch.

In winxp home, helpfind.bat mi serve per controllare l'esistenza di un file
passato come parametro e se lo stesso parametro è presente come stringa di
testo in un altro file, help.bat.

Per la parte che riguarda il file ho risolto così
if exist %1 (goto esiste) else (goto non_esiste)

e per cercare il paramentro %1 come stringa nel file help.bat, nel batch
scrivo
find "%1" help.bat

Qui ho due problemi

1) Find restituisce tutte le stringhe che contengono i caratteri "e.bat",
mentre io vorrei solamente controllare se la parola e.bat è presente nel
file help.bat
2) Non so indirizzare il batch in funzione del risultato di Find, come ho
fatto per i file con if exist e else.

Grazie in anticipo.
DøctøR_DøøM
2007-10-10 16:28:09 UTC
Permalink
Post by Febo
Ciao a tutti.
Ciao
Post by Febo
Ho il problema di gestire il risultato di FIND all'interno di un batch.
In winxp home, helpfind.bat mi serve per controllare l'esistenza di un file
passato come parametro e se lo stesso parametro è presente come stringa di
testo in un altro file, help.bat.
Per la parte che riguarda il file ho risolto così
if exist %1 (goto esiste) else (goto non_esiste)
e per cercare il paramentro %1 come stringa nel file help.bat, nel batch
scrivo
find "%1" help.bat
Qui ho due problemi
1) Find restituisce tutte le stringhe che contengono i caratteri "e.bat",
mentre io vorrei solamente controllare se la parola e.bat è presente nel
file help.bat
Devi sapere che il comando find restituisce un codice di errore (ERRORLEVEL)
all'uscita che è pari a 0 se nel file ci sono linee contenenti il testo cercato,
1 se non se ne trovano.
Post by Febo
2) Non so indirizzare il batch in funzione del risultato di Find, come ho
fatto per i file con if exist e else.
--cut--
find "%1" <help.bat >nul
if errorlevel 1 goto NonTrovato
rem qui codice per Trovato
goto end
:NonTrovato
rem qui codice per NonTrovato
:end
--cut--

Attento solo a non specificare in %1 più parole (richiudendole tra virgolette).
Post by Febo
Grazie in anticipo.
Figurati :D

Continua a leggere su narkive:
Loading...