Visualizza versione completa : [batch] assegnare il risultato di un xcopy ad una variabile
xmatrix83
26-02-2006, 04.24.45
Scusate come posso assegnare il risultato di un xcopy ad una variabile??
io pensavo cosi' ma non funziona:
set pippo=
xcopy c:\*.* d:\*.* /e /d /y /c /h /k /q > %pippo%
roberto45
26-02-2006, 10.52.15
Penso dovresti esplorare l'errore dato da xcopy per ogni file copiato lanciandolo da un ciclo FOR.
xmatrix83
26-02-2006, 12.43.53
guarda l'xcopy con quei parametri restituisce solo:
N file copiati
a me è proprio questa scritta che deve entrare nella variabile
roberto45
26-02-2006, 13.00.01
A quanto ne so le variabili dos sono solamente stringa; quindi dovresti costruire un contatore degli eventi componendo la stringa con una variabile diversa per ogni cifra del numero.
roberto45
26-02-2006, 13.12.25
Ho controllato i parametri che mi hai dato sia per xcopy che per xcopy32 e non mi risulta che i comandi restituiscano il numero dei file copiati: ne sei sicuro?
xmatrix83
26-02-2006, 13.14.19
si il parametro /q restituisce solo il numero dei file copiati
xmatrix83
26-02-2006, 14.07.49
adesso ti spiego quello che volevo fare,magari trovi una soluzione + efficente.
Io devo eseguire un operazione solo se vengono copiati 0 file.
Quindi pensavo assegnarre il risultato ad una variabile,e poi confrontare il valore della variabile con la stringa "0 file copiati"
xmatrix83
26-02-2006, 14.09.55
mi sarebbe venuto in mente un altro modo, ma come posso dire:
se pippo.txt contiene la stringa "0 file copiati" comando
roberto45
26-02-2006, 16.16.51
A me risulta che il parametro /q non fa visualizzare il nomi dei file copiat.
Hai provato a controllare con IF ERRORLEVEL dopo XCOPY ?
xmatrix83
26-02-2006, 21.47.41
appunto... eliminando i nomi dei file copiati rimane solo il numero di file copiati
xmatrix83
27-02-2006, 02.17.08
ummmm la soluzione degli errorlevel sarebbe proprio l'ideale.
Purtroppo non sembra mi funzioni,xche sul sito della microsoft ho trovato che errorlevel 1= No files were found to copy
che sarebbe proprio quello che cerco io!
ma anke se copia 0 file mi esce con errorlevel 0,cioè
Files were copied without error
Xtefano
27-02-2006, 09.58.51
usa il FOR .... ;)
Se guardi qui (http://www.wintricks.it/forum/showthread.php?s=&postid=1117754#post1117754) è proprio quello che ho fatto nel secondo FOR: l'output del comando GREP è inserito nella variabile %%N
FOR /? per ulteriori informazioni ......
Buon divertimento ;)
xmatrix83
27-02-2006, 13.14.22
grazie dopo lo guardo meglio
vBulletin® v3.8.6, Copyright ©2000-2021, Jelsoft Enterprises Ltd.