Windows interprete dei comandi include un comando FOR, che è in grado di analizzare l'output di un dato comando ed eseguire il ciclo per ciascuna linea di uscita, ad esempio:Come specificare/D nel comando FOR?
FOR /F %%i IN ('DIR .') DO echo %i # Outputs each file name
viene eseguito il comando (DIR .
) in una riga di comando figlio tramite cmd /C <command> <command-arguments>
, tuttavia, il parametro /D
non è specificato ... questo porta a comportamenti strani se l'utente ha un comando AutoRun con output (ad esempio echo o cls).
C'è un modo per forzare FOR per eseguire il comando tramite cmd /C /D <command> <command-arguments>
?
Una soluzione molto semplice consiste nell'utilizzare un file intermedio anziché un comando: 'DIR. > DIR.txt' & 'FOR/F %% i IN (DIR.txt) DO echo %% i' – Aacini