Sera. Chiedo gentilmente un'aiuto per un problema che mi porto da un pò.
Vi spiego un pò.
Allora, sto facendo un piccolo batch per backuppare e ripristinare determinate cartelle che contengono dati per me importanti. Sapendo ciò che mi interessa backuppare e i relativi percorsi gli faccio creare un settings.txt con i nomi e i percorsi; ve ne faccio vedere un'esempio:
codice:
Android_Manager-C:\Users\LOLLO\AppData\Roaming\Mobile Action
Filezilla-C:\Users\LOLLO\AppData\Roaming\FileZilla
Skype-C:\Users\LOLLO\AppData\Roaming\Skype
Detto questo ogni riga è divisa in due parti: il nome del programma di cui mi interessa backuppare i dati e il relativo percorso. Ho messo come "divisorio" un trattino -
Ho messo nella stessa riga sia il nome che il percorso perchè tramite un ciclo FOR TOKEN prendo solo la prima parte per creare una specie di lista a video dei file che il batch intende backuppare.
Fin a questo ho fatto ma mi è spuntato il problema del backup.
codice:
setLocal EnableDelayedExpansion
for /f "tokens=1,2 delims=-" %%a in (BACKUP_%COMPUTERNAME%_%date:/=-%\settings.txt) do (
xcopy /c /d /e /h /i /r /y %%b BACKUP_%COMPUTERNAME%_%date:/=-%\%USERNAME%\%%a )
Come potrete vedere e andando per logica e molto autodidattismo (love internet), apro il file di testo e creo un ciclo FOR dove prende ogni singola riga spezzandola in due (Delims=- ). Invoco XCOPY con tutti i suoi valori, metto %%b (il percorso ottenuto dallo spezzettamento di prima) dicendogli di copiare nella cartella BACKUP_%COMPUTERNAME%_%date:/=-%\%USERNAME%\%%a (\%USERNAME%\%%a = aggiungo una cartella con l'user corrente del pc e un'altra con il nome di ciò che sta backuppando. Esempio finale verrebbe così: E:\BACKUP_LOLLO_13-06-2011\LOLLO\Filezilla ).
Ora il problema stà nei percorsi dove ci stanno gli spazi, tipo questo:
codice:
C:\Users\LOLLO\AppData\Roaming\Mobile Action
Sempre andando per logica ho capito (spero) che per questo problema bisogna mettere il percorso tra le " " e quindi ho messo sia "%%b" e sia "BACKUP_%COMPUTERNAME%_%date:/=-%\%USERNAME%\%%a" ma stranamente questo percorso lo salta. Ho fatto anche la prova a mettere al posto dell' XCOPY un "echo %%b" per capire se lo vedeva correttamente ed effettivamente era giusto.
Non capisco dov'è il problema e il motivo per cui non riesce a processarlo
Spero che qualcuno sicuramente più bravo di me mi possa illuminare e ovviamente ringrazio in anticipo chi voglia aiutarmi.