View Full Version : [Batch] Copiare cartelle in una directory con data personalizzata
Sul pc del lavoro ho delle cartelle importanti, con path:
c:\xyz\abc\klm
c:\qwe
e vorrei creare un batch le copi in una cartella con data odierna ogni qualvolta lo voglia io.
Ora, ho trovato il comando per creare la cartella datata:
md d:\%date:~6,4%-%date:~3,2%-%date:~0,2%
ed avevo impostato il comando come:
md d:\%date:~6,4%-%date:~3,2%-%date:~0,2%
xcopy c:\xyz\abc\klm d:\%date:~6,4%-%date:~3,2%-%date:~0,2%
xcopy c:\qwe d:\%date:~6,4%-%date:~3,2%-%date:~0,2%
ma non funziona.. la sintassi è sbagliata?
Prova cosi...
----------------------------------------------------------------------
@echo off
set src1=c:\tmp\x\1
set src2=c:\tmp\x\2
set bkp=c:\tmp\x\%date:~6,4%-%date:~3,2%-%date:~0,2%
@echo Copia da %src1%
@echo Copia da %src2%
@echo Copia a %bkp%
@md %bkp%
@xcopy %src1% %bkp% /e /q /y
@xcopy %src2% %bkp% /e /q /y
----------------------------------------------------------------------
Ciao
Innanzitutto ti ringrazio, questi comandi vanno benissimo.. una unica cosa, che non so se sia possibile sistemare..
Quando copio la cartella source 1 per esempio (diciamo c:\prova con 3 files dentro), nella cartella con data odierna, lui mi copia solo i 3 files e non la cartella prova con dentro i 3 files.
E' possibile sistemare questa piccolezza?
Praticamente mi serve che nella cartella backup vi siano le cartelle prova1, prova2 e prova3 con dentro i relativi files, e non solo tutti i files nella cartella datata..
Grazie :)
il prb lo risolvi creando le rootdir di destinazione e passando il path alla xcopy.
In questo modo preservi le strutture delle directory di destinazione e con la xcopy copy anche le sottodirectory
(altri metodi non mi vengono in mente... )
---------------------------------------------------------
@echo off
set src1=c:\tmp\x
set src2=c:\tmp\y
set ramo1=x
set ramo2=y
set bkp=c:\tmp\out\%date:~6,4%-%date:~3,2%-%date:~0,2%
@echo Copia da %src1%
@echo Copia da %src2%
@echo Copia a %bkp%
@if not exist c:\tmp\out md c:\tmp\out
@if not exist %bkp% md %bkp%
@if not exist %bkp%\%ramo1% md %bkp%\%ramo1%
@if not exist %bkp%\%ramo2% md %bkp%\%ramo2%
@xcopy %src1% %bkp%\%ramo1% /e /q /y
@xcopy %src2% %bkp%\%ramo2% /e /q /y
---------------------------------------------------------
Eventualmente se hai parecchie directory da copiare puoi modificare il batch e renderlo parametrico...
Ciao
Grazie mille, gentilissimo!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.