Visualizza messaggio singolo
Vecchio 02-08-2011, 16.48.23   #3
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Crea un file in C:\ chiamato 123.txt
Immetti il nome dei file all'interno.
Supponi di aver inserito:
winhelp.exe
winhlp32.exe

Ora dal prompt del DOS (la shell di Windows) immetti questo comando:
Codice:
@FOR /F "tokens=*" %G IN (c:\123.txt) DO @echo %G
Come risultato otterai la lista che hai immesso nel file.
Il perchè è dovuto a quanto segue:
@PER ogni token [tokens=*] ai quali associo ogni volta la variabile %G che ricavo dal file specificato [/F] [IN (c:\123.txt)] devi eseguire [DO] la stampa dei tokens ricavati [@echo %G]

Ora dal prompt del DOS immetti questo comando:
Codice:
dir /b /s C:\winhelp.exe
Come risultato otterrai tutti i percorsi che contengono quel file, ossia:
C:\WINDOWS\winhelp.exe
C:\WINDOWS\system32\dllcache\winhelp.exe

Ora dal prompt del DOS immetti questo comando:
Codice:
@FOR /F "tokens=*" %C IN ('dir /b /s C:\winhelp.exe') DO @echo %C
Come risultato otterrai la lista fornita dal comando: dir /b /s C:\winhelp.exe
Se invece del nome del file specificato da te stesso includessi la variabile %G, in accordo con il primo @FOR che legge il contenuto dei file all'interno di C:\123.txt ?

Codice:
@FOR /F "tokens=*" %G IN (c:\123.txt) DO FOR /F "tokens=*" %C IN ('dir /b /s C:\%G') DO @echo %C
Tu otterresti prima:
C:\WINDOWS\winhelp.exe
C:\WINDOWS\system32\dllcache\winhelp.exe
e poi
C:\WINDOWS\winhlp32.exe
C:\WINDOWS\ServicePackFiles\i386\winhlp32.exe
C:\WINDOWS\system32\winhlp32.exe

Cosa significa tutto cio ?
Significa che devi passare il risultato del primo FOR al secondo, tenendo a mente che l'operazione che devi eseguire è una copia di file, non la stampa a video.
A te il completamento per ottenere il tuo scopo.

ps: Ricorda che se crei un file .bat, devi utilizzare il doppio @ per puntare alla variabile. Come avrai notato, lo stesso file si trova in più percorsi, quindi evita la richiesta di sovrascrittura se dovesse capitare con i tuoi files.

Ultima modifica di LoryOne : 02-08-2011 alle ore 16.52.08
LoryOne non è collegato   Rispondi citando