Condividi:        

File Batch - variabile non si incrementa nel ciclo FOR

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Anthony47, Triumph Of Steel, archimede

File Batch - variabile non si incrementa nel ciclo FOR

Postdi Diego79 » 02/05/23 18:44

Buonasera a tutti,

Mi scuso in anticipo per la banalità del quesito ma mi sto incartando...dovrei incrementare una variabile all'interno di un ciclo FOR, il risultato che ottengo però è sempre 0.

riporto di seguito le istruzioni:

echo off
set /A FileCount=0

FOR /F %%a in ('DIR /B *.txt') do (
set /A FileCount+=1
echo %FileCount%
)
pause

il risultato che ottengo è la stampa a video del numero 0 ripetuto tante volte quanti sono i file nella cartella, invece mi aspetterei di veder elencato i numeri da 1 ad n (n= numero dei file all'interno della cartella)

Immagine


ringrazio chiunque abbia la voglia e la pazienza per aiutarmi a capire dove sbaglio
Ciao!
Diego79
Newbie
 
Post: 3
Iscritto il: 02/05/23 17:55

Sponsor
 

Re: File Batch - variabile non si incrementa nel ciclo FOR

Postdi Dylan666 » 03/05/23 08:39

aggiungi questa riga dopo il primo ECHO:
setlocal ENABLEDELAYEDEXPANSION

poi metti la variabile tra punti esclamativi invece delle percentuali:
echo !FileCount!

Codice: Seleziona tutto
echo off
setlocal ENABLEDELAYEDEXPANSION
set /A FileCount=0

FOR /F %%a in ('DIR /B *.txt') do (
set /A FileCount+=1
echo !FileCount!
)
pause
Avatar utente
Dylan666
Moderatore
 
Post: 39994
Iscritto il: 18/11/03 16:46

Re: File Batch - variabile non si incrementa nel ciclo FOR

Postdi Diego79 » 03/05/23 18:25

Funziona!! Grazie 1000 per la risposta

A questo punto però non riesco a non chiederti perché bisogna settare ENABLEDELAYEDEXPANSION e soprattutto perché per leggere il valore contenuto della variabile ora devo usare i caratteri ! ! e non % %, in tutti i tutorial che ho letto usano il %...

comunque ancora grazie
Ciao
Diego79
Newbie
 
Post: 3
Iscritto il: 02/05/23 17:55

Re: File Batch - variabile non si incrementa nel ciclo FOR

Postdi Dylan666 » 04/05/23 10:06

direi che è spiegato bene qui, fra l'altro proprio con l'esempio di un FOR:
https://ss64.com/nt/delayedexpansion.html
Avatar utente
Dylan666
Moderatore
 
Post: 39994
Iscritto il: 18/11/03 16:46

Re: File Batch - variabile non si incrementa nel ciclo FOR

Postdi Diego79 » 04/05/23 20:10

Grazie!!
Diego79
Newbie
 
Post: 3
Iscritto il: 02/05/23 17:55


Torna a Programmazione


Topic correlati a "File Batch - variabile non si incrementa nel ciclo FOR":


Chi c’è in linea

Visitano il forum: Nessuno e 15 ospiti