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

    Batch richiamato n volte

    Ciao a tutti! ho bisogno di una mano perchè ci sto da un po' di tempo e non riesco a risolvere la situazione:
    Ho creato un file batch che mi esegue il backup di un file, ma il mio problema è che devo eseguire questo scritp tante volte quanti sono dei file .db in un cartella. Mi provo a spiegare meglio con la parte di codice su cui sono bloccata:

    codice:
    cd C:\DataBases 
    for %%a in (*.db) do call C:\Backup.bat %%a
    I problemi sono:
    1) la variabile %%a contiene ovviamente tutto il nome del file (Esempio DataBase.db), mentre invece mi occorre solo il nome del file senza estensione (dall'esempio di prima, mi serve solo DataBase) ;
    2)Lanciando questo mini-script mi viene eseguito correttamente Backup.bat, ma poi non ritorna al batch chiamante e quindi non esegue lo script anche per tutti gli altri file che incontra.
    Qualcuno sa aiutarmi??
    grazie milleeeee

  2. #2
    beh se chiami un altro bat non torna all'originale, non c'è un'idea di "stack" con i file batch.

    comunque
    codice:
    start /WAIT
    dovrebbe fare al caso tuo.

    Se non è così, allora devi fare la routine di backup dentro il for senza chiamare un batch esterno.

    per prendere il nome del file usa questo codice

    codice:
    FOR /F "delims=." %nome IN ("*.db") DO echo %nome

  3. #3
    Intanto grazie mille per la risposta..
    per quanto riguarda il comando start /wait funziona alla perfezione..
    purtroppo però ho qualche problemino con il for.. ho effettuato una prova dando solo questi di comandi
    codice:
    for /F "delims=." %%n in ("*.db") do echo %%n
    Ma mi viene visualizzato solo un'*...non mi prende i nomi dei file...
    Ah, ho sostituito %nome con %%n perchè altrimenti non mi prendeva la variabile...

  4. #4
    Originariamente inviato da soniettabrasile
    Intanto grazie mille per la risposta..
    per quanto riguarda il comando start /wait funziona alla perfezione..
    purtroppo però ho qualche problemino con il for.. ho effettuato una prova dando solo questi di comandi
    codice:
    for /F "delims=." %%n in ("*.db") do echo %%n
    Ma mi viene visualizzato solo un'*...non mi prende i nomi dei file...
    Ah, ho sostituito %nome con %%n perchè altrimenti non mi prendeva la variabile...
    codice:
    FOR %%n in (*.*) do FOR /F "delims=." %%a in ("%%n") DO echo %%a

  5. #5
    babbaaaa biaaaaaaaaa!! grandissimo!!!
    veramente grazie grazie grazie..


    sei troppo forte!

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.