FOR: Esegue un comando specificato per ogni file in un gruppo di file.


... "FOR" Estratto dalla guida di Microsoft Windows
... Gli esempi per il comando "FOR"
... Informazioni importanti, suggerimenti per il comando "FOR"

Il comando: "FOR" è attivo Windows 11, 10, .. disponibile

"FOR" Estratto dalla guida di Microsoft Windows

Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.

C:\\WINDOWS>

Esegue il comando specificato per ogni file di un gruppo di file.

FOR %variabile IN (gruppo) DO comando [parametri del comando]

 %variabile  Indica un parametro sostituibile composto da una sola 
lettera.
 (gruppo)    Indica gruppo di uno o più file. Si possono usare 
caratteri jolly.
 comando     Specifica  il comando da eseguire per ciascun file.
 parametri del comando
             Indica i parametri o le opzioni del comando specificato.

Per usare FOR in un programma batch, utilizzare la sintassi %%variabile
anziché %variabile. Le variabili possono essere differenziate 
utilizzando
lettere maiuscole e minuscole. Esempio: %i è diversa 
da %I.

Se le estensioni ai comandi sono attivate è possibile utilizzare le 
seguenti 
opzioni per il comando FOR:

FOR /D %variabile IN (gruppo) DO comando [parametri-comando]

    Se gruppo contiene dei caratteri jolly, vengono utilizzati 
    nomi di directory invece di nomi di file.

FOR /R [[unità:]percorso] %variabile IN (gruppo) DO comando [parametri-
comando]

    Nella struttura della directory, a partire da [unità:]percorso, 
esegue
    l'istruzione FOR in ogni directory della struttura.  Se dopo /R non 
viene
    specificato alcun percorso la directory corrente è assunta come 
iniziale.
    Se per il parametro gruppo si usa solo un carattere punto 
(.)saranno 
    elencate le directory nella struttura della directory specificata.

FOR /L %variabile IN (inizio,incremento,fine) DO comando [parametri-
comando]

    Il gruppo è la sequenza dei numeri da inizio a fine con differenza, 
tra un
    numero e il successivo, pari a incremento.
    Per esempio: (1,1,5) genererà 1 2 3 4 5 e (5,-1,1) genererà la 
sequenza 
    (5 4 3 2 1)

FOR /F ["opzioni"] %variabile IN (gruppofile) DO comando [parametri-
comando]
FOR /F ["opzioni"] %variabile IN ("stringa") DO comando [parametri-
comando]
FOR /F ["opzioni"] %variabile IN ("comando") DO comando [parametri-
comando]

    o, se l'opzione usebackq è presente:

FOR /F ["opzioni"] %variabile IN (gruppofile) DO comando [parametri-
comando]
FOR /F ["opzioni"] %variabile IN ("stringa") DO comando [parametri-
comando]
FOR /F ["opzioni"] %variabile IN ("comando") DO comando [parametri-
comando]


    gruppofile contiene uno o più nomi di file. Ciascun file sarà 
aperto,
    letto ed elaborato prima di passare al file successivo in 
gruppofile.
    L'elaborazione consiste nel leggere il file, suddividerlo nelle 
singole
    righe di testo e scomporre ciascuna riga negli eventuali token che 
vi sono
    contenuti. Il comando all'interno del ciclo viene dunque richiamato
    utilizzando, come valori delle variabili, le stringhe dei token 
trovati. La
    modalità predefinita prevede che /F passi il primo token delimitato 
da 
    spazi di ogni riga di ogni file. Le righe vuote sono scartate.
    La scomposizione in token può essere modificata specificando il 
parametro
    facoltativo "opzioni". Il parametro deve essere una stringa tra 
virgolette
    contenente una o più parole chiave che specifichino diversi 
parametri per
    la scomposizione in token. Le parole chiave sono:

        eol=c           - specifica il carattere che precede un 
commento alla
                          fine di una riga (solo uno)
        skip=n          - specifica il numero di righe all'inizio del 
file che
                          devono essere ignorate.
        delims=xxx      - specifica un insieme di delimitatori. Questo 
insieme
                          sostituisce i delimitatori predefiniti (spazi 
e 
                          tabulazioni).
        tokens=x,y,m-n  - specifica quali token appartenenti a una riga 
devono
                          essere passati al comando ad ogni iterazione.
                          L'opzione richiede l'utilizzo di nomi di 
variabili
                          aggiuntivi. L'espressione m-n indica i token
                          dall'm-esimo all'n-esimo. Se l'ultimo 
carattere,
                          nella stringa tokens=, è un asterisco viene
                          allocata una variabile aggiuntiva cui sarà
                          assegnato il testo rimanente dopo 
l'assegnazione
                          dell'ultimo token.
        usebackq        - specifica che le nuove modalità sono attive,
                         ove una stringa con apici inversi è eseguita 
come
                          un comando e una stringa con apici singoli è
                          una stringa di comando che consente 
l'utilizzo del
                          doppio apice per i nomi file in un
                          gruppofile.

    Esempi:

FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j 
%k

    analizza ogni riga in miofile.txt, ignorando le righe che 
cominciano con
    punto e virgola, passando il secondo e terzo token da ciascuna riga 
al
    corpo di for, con i token delimitati da virgole e/o spazi.  Da 
notare il riferimento %i
    delle istruzioni del corpo di for di ottenere il secondo token, %j 
di ottenere il
    terzo token, e %k di ottenere i token rimanenti dopo il terzo. Per
    i nomi file che contengono spazi, è necessario racchiudere i nomi 
file entro
    virgolette.  In questo caso, è anche importante
    utilizzare l'opzione usebackq, altrimenti le virgolette saranno
    interpretate come la definizione di una stringa letterale da 
analizzare.

    %i è esplicitamente dichiarato nell'istruzione for e %j e %k
    sono dichiarati per via implicita mediante l'opzione tokens=.  È 
possibile specificare
    fino a 26 token mediante la riga tokens=, a condizione che non 
causi un
    tentativo di dichiarare una variabile più alta della lettera "z" o 
"Z".
    Ricordare che le variabili FOR sono composte da una sola lettera, 
seguono la distinzione maiuscole/minuscole, sono globali
e   non è possibile che ve ne siano più di 52 attivi 
contemporaneamente.

    È inoltre possibile utilizzare la logica di analisi FOR /F
    trasformando il gruppo di nomi file tra parentesi in una stringa
    utilizzando delle semplici virgolette.  La stringa sarà trattata 
come riga di input
    unica da un file, e quindi analizzata.

    Infine, è possibile usare il comando FOR /F per analizzare l'output 
di un
    comando trasformando il gruppo di nomi file tra
    parentesi in una stringa con virgolette inverse.  La stringa sarà 
trattata come una riga di
    comando passata a un figlio CMD.EXE, l'output è acquisito
    in memoria e analizzato come fosse un file.  Pertanto il seguente
    esempio:

      FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i

    enumera i nomi di variabili nell'ambiente
    corrente.

Sono stati anche migliorati i riferimenti alla avariabile FOR.
YÈ ora possibile utilizzare la seguente sintassi:

    %~I         - espande %I rimuovendo le virgolette (")
    %~fI        - espande %I rendendolo un nome di percorso completo
    %~dI        - espande %I solo a lettera di unità
    %~pI        - espande %I solo a percorso
    %~nI        - espande %I solo a nome file
    %~xI        - espande %I solo a estensione file
    %~sI        - il percorso espanso contiene solo nomi brevi
    %~aI        - espande %I ad attributi file
    %~tI        - espande %I a data/ora file
    %~zI        - espande %I a dimensioni file
    %~$PATH:I   - ricerca nelle directory elencate nella variabile di
                   ambiente PATH ed espande %I al
                   primo nome completo incontrato.
                   Se la variabile di ambiente non è
                   definita o il file non è trovato nella
                   ricerca, questo carattere di modifica espande
                   alla prima stringa vuota

I caratteri di modifica possono essere combinati insieme:

    %~dpI       - espande %I solo a lettera di unità e percorso
    %~nxI       - espande %I solo a nome file e estensione
    %~fsI       - espande %I solo a nome di percorso completo con nomi 
brevi
    %~dp$PATH:i - ricerca nelle directory elencate nella variabile di
ambiente PATH                   per %I ed espande ai primi
                   lettera di unità e percorso trovati.
    %~ftzaI     - espande %I a una DIR come riga di output

Negli esempi citati %I e PATH possono essere sostituiti da altri valori
validi.  La sintassi %~ viene terminata con un nome di variabile FOR 
valido.
Scegliendo nomi di variabile con caratteri maiuscoli come %I il testo 
diventa più leggibile ed
evita confusione con i caratteri di modifica, che non seguono la 
distinzione maiuscole/minuscole.

Gli esempi per il comando "FOR"

IL`FOR`Il comando nel prompt dei comandi di Windows viene utilizzato per eseguire il loop nei file batch. Ecco alcuni esempi: Esempio 1: scorrere i file in una directory:

FOR %G IN (directory\*) DO ECHO %G

Descrizione: Questo comando stampa il nome di ciascun file nella directory specificata. Esempio 2: scorrimento di file con un'estensione di file specifica:

FOR %G IN (directory\*.txt) DO ECHO %G

Descrizione: Stampa il nome di ciascun file di testo nella directory specificata. Esempio 3: scorrimento ricorsivo dei file nelle sottodirectory:

FOR /R directory %G IN (*.txt) DO ECHO %G

Descrizione: Attraversa ricorsivamente tutte le sottodirectory della directory specificata e stampa il nome di ciascun file di testo. Esempio 4: scorrere i numeri in un intervallo specifico:

FOR /L %G IN (1,1,10) DO ECHO %G

Descrizione: Emette i numeri da 1 a 10. Esempio 5: scorrere i caratteri in una stringa:

FOR %G IN ("Ciao") DO ECHO %G

Descrizione: Stampa ogni lettera della parola "Ciao". Esempio 6: scorrere il contenuto del file riga per riga:

FOR /F "tokens=*" %G IN (file.txt) DO ECHO %G

Descrizione: Scorre le righe del file "File.txt" e restituisce ogni riga. Esempio 7: Iterazione attraverso le variabili di ambiente:

FOR %G IN (%PATH%) DO ECHO %G

Descrizione: Scorre i percorsi nella variabile di ambiente`PATH`e restituisce ciascun percorso. Esempio 8: Utilizzo di`SET`in un loop:

FOR %G IN (1 2 3) DO SET /A Numero=%G * 2 & ECHO Doppio di %G È %Numero%

Descrizione: Imposta una variabile`Numero`al doppio del numero corrente nel ciclo e lo stampa. Esempio 9: Iterazione attraverso sottodirectory e file:

FOR /R %G IN (*) DO ECHO %G

Descrizione: Attraversa ricorsivamente tutte le sottodirectory e i file nella directory corrente. Esempio 10: cicli nidificati:

FOR %G IN (1 2) DO FOR %H IN (A B) DO ECHO %G%H

Descrizione: Nidifica due cicli e stampa tutte le combinazioni di %G e %H. Tieni presente che nei file batch`%`Attraverso`%%`dovrebbe essere sostituito. Per esempio:`FOR %G IN (...) DO ECHO %%G`. Nel prompt diretto viene utilizzato solo il segno percentuale (`%`).

Informazioni importanti, suggerimenti per il comando "FOR"

Quando si utilizza il`FOR`comando nel prompt dei comandi di Windows, ci sono alcuni punti importanti da notare: 1. Sintassi nei file batch: Se hai il file`FOR`comando in un file batch, è necessario`%`Attraverso`%%`sostituire. Per esempio:`FOR %%G IN (...) DO ECHO %%G`. 2. Utilizzo delle variabili: in genere si utilizzano variabili (ad es.`%%G`) nel`FOR`-Loop per memorizzare i valori. Si noti che le variabili non possono accedere ai valori assegnati al di fuori del ciclo.

SET Variable=Valore iniziale
FOR %%G IN (Valore1 Valore2) DO SET Variable=%%G
ECHO %Variable%

Eccolo`%Variable%`mantenere il valore "valore iniziale" perché il`SET`-Istruzioni in un separato`FOR`viene eseguito il ciclo. 3. Spazi nei percorsi o nei nomi dei file: Se i percorsi o i nomi dei file contengono spazi, il percorso o il nome del file devono essere racchiusi tra virgolette per garantire che vengano interpretati correttamente.

FOR %%G IN ("Directory con spazi\File con spazi.txt") DO ECHO %%G

4. Opzioni per`FOR /F`-Loop: Se tu`FOR`in connessione con`/F`opzione (ad es.`FOR /F "tokens=*" %%G IN (file.txt) DO ECHO %%G`), è necessario conoscere la sintassi del file`tokens`E`delims`Regola attentamente le opzioni per ottenere i risultati desiderati. 5. Cicli nidificati: Con i cicli nidificati è necessario garantire il corretto utilizzo di`%`O`%%`prestare attenzione per garantire che le variabili siano referenziate nel ciclo corretto.

FOR %%G IN (1 2) DO (
    ECHO Anello esterno: %%G
    FOR %%H IN (A B) DO ECHO Anello interno: %%H
)

6. Fine delle righe del file all'interno`FOR /F`: Se tu`FOR /F`per scorrere le righe di un file, per impostazione predefinita ogni riga fino al primo spazio o tabulazione è considerata un token. Puoi farlo con l'opzione`delims`regolare.

FOR /F "tokens=* delims=" %%G IN (file.txt) DO ECHO %%G

7. Opzioni variabili di data e ora: Se disponi di`%DATE%`- O`%TIME%`-Variabili in uno`FOR`-Loop, dovresti prestare attenzione alle impostazioni regionali del sistema, poiché il formato può variare. 8. Iterazione di file con codifica UTF-8: The`FOR /F`il comando potrebbe avere difficoltà a scorrere i file con codifica UTF-8. In questi casi potrebbe essere meglio utilizzare altri strumenti come`FINDSTR`usare. È importante considerare i requisiti specifici del tuo caso d'uso e del`FOR`-Regolare il ciclo di conseguenza. Puoi`FOR /?`nel prompt dei comandi per visualizzare la guida completa e tutte le opzioni disponibili.


Deutsch
English
Español
Français
Italiano
日本語 (Nihongo)
한국어 (Hangugeo)
汉语 (Hànyǔ)
Türkçe
Português
Português
Svenska
Norsk
Dansk
Suomi
Nederlands
Polski









Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



Il comando FOR - Esegue un comando specificato per ogni file in un gruppo di file.

HTTP: ... console/it/032.htm
0.124
16888

Change the modification date of a Windows file, for 11, 10, 8.1, ...!

Tools - Tray-Funktionen - Screenshot-Tool-Info!

Access Office applications Outlook, Excel, Word, ... in Quad-Explorer!

Icon Size Save Enable on all MS Windows OS!

Remove the performance index reader from Windows 10 and 11!

AutoLoginOK enables automatic login on Windows!



(0)