Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [BATCH] Ciclo FOR e percorsi con spazi

    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.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ho notato che nel settings.txt alla fine di

    Mobile Action

    hai aggiunto uno spazio. Devi toglierlo.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Grazie grazie, ho provveduto a eliminare quello spazio e inserire le " " e ora funziona.
    Mille grazie ancora.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da serpicosk
    Grazie grazie, ho provveduto a eliminare quello spazio e inserire le " " e ora funziona.
    Mille grazie ancora.
    Di nulla ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.