Qual è la sintassi per un ciclo FOR in un file batch di Windows?Come si esegue il ciclo in un file batch di Windows?
risposta
FOR %%A IN (list) DO command parameters
lista è un elenco di elementi, separati da spazi, sia di virgola o virgola.
comando può essere qualsiasi comando, file interno o esterno in batch o anche - in OS/2 e NT - una lista di comandi
parametri contiene i parametri della riga di comando per comando. In questo esempio, il comando verrà eseguito una volta per ogni elemento nell'elenco, utilizzando i parametri se specificato.
Un tipo speciale di parametro (o comando pari) è %% A, che verrà sostituito da ciascun elemento dalla lista consecutivamente.
Da FOR loops
Tipo:
for /?
e otterrete diverse pagine di testo di aiuto.
Preferisco questo rispetto alla risposta accettata perché gestisce le diverse versioni di DOS/Windows. "For" è stato migliorato in modo significativo, nel corso degli anni, e la domanda non dice quale versione (s) è (sono) mirata né quale scenario si sta tentando. –
Se si vuole fare qualcosa x volte, si può fare questo:
Esempio (x = 200):
FOR /L %%A IN (1,1,200) DO (
ECHO %%A
)
1,1,200
significa:
- Start = 1
- I ncrement per passo = 1
- Fine = 200
Grazie per l'aggiunta. Potrebbe essere più chiaro se si modifica il valore iniziale nell'esempio in qualcosa di diverso dall'incremento. –
Il valore finale è compreso. –
FOR
vi darà tutte le informazioni di cui avrete bisogno di sapere su cicli FOR, tra cui esempi di uso corretto.
provare questo codice:
@echo off
color 02
set num1=0
set num2=1
set terminator=5
:loop
set /a num1= %num1% + %num2%
if %num1%==%terminator% goto close
goto open
:close
echo %num1%
pause
exit
:open
echo %num1%
goto loop
num1
è il numero da incrementare e num2
è il valore aggiunto di num1
e terminatore è il valore in cui la num1
finirà. È possibile indicare un valore diverso per il terminatore in questa istruzione (if %num1%==%terminator% goto close
). Questa è l'espressione booleana goto close è il processo se il booleano è vero e goto open è il processo se il booleano è falso.
Non puoi usare il comando 'FOR'? –
@echo off
echo.
set /p num1=Enter Prelim:
echo.
set /p num2=Enter Midterm:
echo.
set /p num3=Enter Semi:
echo.
set /p num4=Enter Finals:
echo.
set /a ans=%num1%+%num2%+%num3%+%num4%
set /a avg=%ans%/4
ECHO %avg%
if %avg%>=`95` goto true
:true
echo The two numbers you entered were the same.
echo.
pause
exit
Effettuare condizionatamente un comando più volte.
sintassi-PER-Files
FOR %%parameter IN (set) DO command
sintassi-PER-Files radicate nel percorso
FOR /R [[drive:]path] %%parameter IN (set) DO command
sintassi-FOR-cartelle
FOR /D %%parameter IN (folder_set) DO command
sintassi PER -Elenco dei numeri
FOR /L %%parameter IN (start,step,end) DO command
contenuti sintassi-FOR-file
FOR /F ["options"] %%parameter IN (filenameset) DO command
o
FOR /F ["options"] %%parameter IN ("Text string to process") DO command
sintassi-PER-Command Risultati
FOR /F ["options"] %%parameter IN ('command to process') DO command
E
- Prendere una serie di dati
- Fare una per il parametro
%%G
uguale ad una parte di tali dati - eseguire un comando (eventualmente utilizzando il parametro come parte del comando).
- -> Ripetere l'operazione per ogni dato
Se si utilizza il comando FOR nella riga di comando, piuttosto che in un programma batch, utilizzare solo l'uno per cento segno: %G
invece di %%G
.
PER Parametri
Il primo parametro deve essere definita utilizzando un singolo carattere, per esempio la lettera G.
FOR %%G IN
...In ogni iterazione FOR loop, la clausola
IN (....)
viene valutata e%%G
impostata su un valore diversoSe questa clausola produce un singolo valore, allora %% G viene impostato uguale a quel valore e il comando viene eseguito.
Se la clausola produce valori multipli, i parametri aggiuntivi vengono definiti implicitamente per contenere ciascuno di essi. Questi sono assegnati automaticamente in ordine alfabetico
%%H %%I %%J
... (definizione implicita del parametro)Se il parametro fa riferimento a un file, è possibile utilizzare il riferimento variabile avanzato per estrarre il nome file/percorso/data/dimensione.
Ovviamente è possibile selezionare qualsiasi lettera dell'alfabeto diversa da
%%G
.ma è una buona scelta perché non è in conflitto con nessuna delle lettere di formato del percorso (a, d, f, n, p, s, t, x) e fornisce la più lunga serie di lettere non conflittuali da usare come parametri impliciti .
Da FOR /?
doc Guida:
per la variabile% IN (gruppo) DO comando [parametri-comando]
variabile% Specifica un parametro sostituibile singola lettera.
(set) Specifica un set di uno o più file. Possono essere usati i caratteri jolly. Comando Specifica il comando da eseguire per ciascun file.
parametri di comando
Specifica i parametri o le opzioni per il comando specificato.
Per utilizzare il comando FOR in un programma batch, specificare %% variabile invece
di variabile%. I nomi delle variabili sono case sensitive, quindi% i è diverso
da% I.
Se le estensioni ai comandi sono abilitate, le seguenti ulteriori
forme del comando FOR sono supportati:
FOR/D% variabile IN (gruppo) DO comando [parametri-comando]
If set contains wildcards, then specifies to match against directory
names instead of file names.
FOR/R [[unità:] percorso]% variabile IN (gruppo) DO comando [parametri-comando]
Walks the directory tree rooted at [drive:]path, executing the FOR
statement in each directory of the tree. If no directory
specification is specified after /R then the current directory is
assumed. If set is just a single period (.) character then it
will just enumerate the directory tree.
FOR/L% variabile IN (inizio , passo, fine) DO comando [parametri-comando]
The set is a sequence of numbers from start to end, by step amount.
So (1,1,5) would generate the sequence 1 2 3 4 5 and (5,-1,1) would
generate the sequence (5 4 3 2 1)
- 1. Come si esegue un inserimento batch in Django?
- 2. Come si esegue il ciclo di un array multidimensionale?
- 3. Come aprire il file BAT (Windows batch) in Eclipse?
- 4. variabili del file batch inizializzate in un ciclo for
- 5. File batch di Windows per eseguire il file PHP
- 6. File batch di Windows che esegue il looping delle directory per elaborare i file?
- 7. Come si esegue Vim in Windows?
- 8. Come si impedisce a un file di Windows Batch di uscire presto?
- 9. Come concatenare le stringhe nel file batch di Windows per il ciclo?
- 10. Cygwin esegue uno script da un file batch?
- 11. file batch: goto in per ciclo
- 12. Come si esegue il ciclo di un controllo per la stringa in un documento in Javascript?
- 13. Come si esegue git-p4 in Windows?
- 14. equivalente in file batch di Windows
- 15. batch di Windows: chiamare più di un comando in un ciclo FOR?
- 16. Script batch di Windows: reindirizza TUTTA l'output in un file
- 17. Python - Come si esegue un file .py?
- 18. Controllo dello psftp in un file batch di Windows
- 19. Ottenere il nome del file in batch per ciclo
- 20. Come si esegue un file java .jar come servizio Windows su Windows Server 2008?
- 21. esegue il debug di un grosso ciclo in eclissi
- 22. Come si esegue un programma esterno in node.js su Windows?
- 23. Come ottenere un timestamp di file batch UNIVERSAL Windows
- 24. aritmetica all'interno di un file batch per ciclo
- 25. Come eseguire un comando batch di Windows in modo ricorsivo?
- 26. Windows: stabilisce l'associazione file al file batch
- 27. Aprire una pagina Web in un file batch di Windows
- 28. File batch di Windows per eseguire il file jar più volte
- 29. Come si esegue un file utilizzando Java?
- 30. interruzione del ciclo for quando si esegue una funzione all'interno di un ciclo for in R
Questo è il primo risultato per "ciclo di file batch" in Google. Lo rende un ciclo infinito? una ricerca ricorsiva? Non ho capito bene! – Ben