Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Batch de sauvegarde avec fonction if
Auteur Message
Répondre en citant
Message Batch de sauvegarde avec fonction if 
Bonjour à tous !
Je souhaite créer un batch de sauvegarde de certains dossiers sur PC vers une clé USB. (Des sauvegardes sont faites par ailleurs mais pour renforcer la sécurité je voulais faire une seconde copie sur des clés que les utilisateurs emporteraient)
(2 pc sont sous XP Pro, 3 sous Vista Fam. et 2 sous Seven Fam.)
Les clés utilisent un logiciel de cryptage (TrueCrypt). La partie cryptée sur la clé est identifiée avec la lettre « T ».
J’ai conscience qu’il faut « monter » d’abord la partition avant de lancer la sauvegarde.
Afin de minimiser les risques d’erreurs je souhaiterai afficher un message « OK » si la copie a été bien réalisée , etc… en utilisant la commande "ERRORLEVEL" :
IF ERRORLEVEL 0 echo OK
IF ERRORLEVEL 1 echo Aucun fichier a copier n'a ete trouve
IF ERRORLEVEL 2 echo Copie arretee
IF ERRORLEVEL 4 echo Erreurs diverses manque de memoire, espace disque insuffisant …
IF ERRORLEVEL 5 echo Erreur d'ecriture disque est survenue.

Le batch : (à améliorer surement … ;-) )
@echo off
set fSrc="C:\Documents and Settings\Utilisateur\Mes documents\test"
set fDest="T:\SAVE\test"
if not exist %fDest% md %fDest%
cls
xcopy /E /H /Y /I /D /C /R %fSrc% %fDest%
set fSrc="C:\Documents and Settings\ Utilisateur \Mes documents\wdc"
set fDest="T:\SAVE\wdc"
if not exist %fDest% md %fDest%
cls
xcopy /E /H /Y /I /D /C /R %fSrc% %fDest%
rem set fSrc="C:\Documents and Settings\ Utilisateur \Local Settings\Application Data\Identities\"
rem set fDest="T:\SAVE\Outlook Express"
rem if not exist %fDest% md %fDest%
cls
REM - Fin du batch
Pause

Je suis preneur de vos avis et conseils
Merci
Jeam



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Batch de sauvegarde avec fonction if 
Bonjour,
si sa peut t'aider, j'ai fait un batch utilisable en commande externe compatible avec tes systèmes d'exploitation qui propose des copies en miroir, des sauvegarde incrémentielle et différentielle le tout en proposant des génération de rapport et des log d'erreur détaillé, l'envoi de mail, ect...

http://batch.xoo.it/t2113-commande-externe-xcopy-revisitee.htm

tu peu l'utiliser ou t'en servir pour ton propre batch, je pense que sa peut t'aider dans tous les cas.



Dernière édition par Cαutex le Mar 10 Avr 2012 - 17:08; édité 1 fois

______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message Batch de sauvegarde avec fonction if 
Ok Cmanix merci pour ta proposition .
je vais regarder ton code et te dis (si je m'y retrouve ;-) )

Jeam



Répondre en citant
Message Batch de sauvegarde avec fonction if 
Bon j'ai téléchargé ton fichier "installateur.bat", je l'ai lancé il a téléchargé un "cp.bat " dans le dossier windows , jusque là OK . Là il affiche une page de commande ; "utilisation et Paramètres etc... a bas de page appuyez sur une touche pour continuer. j'appuie sur une touche ; l'écran disparait ?
j'ai loupé un truc je pense , non?
je viens d’effacer le fichier cp.bat et refait l'install , là après avoir appuyé sur un touche comme demandé le curseur clignote apres c:\Documents and ..... . je ne sais pas ce qu'il faut faire?
désolé si ma question parait débile !
Merci
Jeam



Répondre en citant
Message Batch de sauvegarde avec fonction if 
ben la page de commande comme tu dis c'est une sorte de notice d'utilisation si tu veux

c'est l’équivalent de [xcopy /?]
ici ma commande c'est [cp /?]

après tu l'utilise en fonction de tes besoins, pour faire une copie tu fait [cp c:\source "c:\dossier de destination"]

comme décris dans la présentation mon batch est une commande externe donc on l'utilise en l’exécutant avec des paramètres.




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message Batch de sauvegarde avec fonction if 
Je vais essayer de piger .

Merci en tout cas !

Jeam



Répondre en citant
Message Re: Batch de sauvegarde avec fonction if 
jeam a écrit:
Afin de minimiser les risques d’erreurs je souhaiterai afficher un message « OK » si la copie a été bien réalisée , etc… en utilisant la commande "ERRORLEVEL" :
IF ERRORLEVEL 0 echo OK
IF ERRORLEVEL 1 echo Aucun fichier a copier n'a ete trouve
IF ERRORLEVEL 2 echo Copie arretee
IF ERRORLEVEL 4 echo Erreurs diverses manque de memoire, espace disque insuffisant …
IF ERRORLEVEL 5 echo Erreur d'ecriture disque est survenue.


Je vien de faire une mise à jour de mon batch: il retourne maintenant des code erreur avec errorlevel.




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message Batch de sauvegarde avec fonction if 
Bonsoir Cmanix, bonsoir tout le monde,
Un grand merci Cmanix pour ton aide mais n'aurais-tu pas un tuto parce que je ne pige pas comment utiliser ton batch , désolé
Salutations
Jeam



Répondre en citant
Message Batch de sauvegarde avec fonction if 
Bon....

1: Je viens d'ajouter un Tutoriel dans mon post d’origine ici -> http://batch.xoo.it/t2113-commande-externe-xcopy-revisitee.htm#p16727

2: J'ai du mal à comprendre ce qui te bloque. Tu arrive bien a l'installer donc après il suffit d’exécuter des commande comme
Code:
cp "c:\dossier source" c:\dossier2 "-mw-La copie est terminée"

Le batch va copier le dossier "c:\dossier source" vers c:\dossier2 puis afficher un message "La copie est terminée" à la fin

Code:
cp "c:\dossier source" c:\dossier2 -mode-3 -mw-La_sauvegarde_est_terminée

-mode-3 c'est le mode de sauvegarde donc le batch va sauvegarder ton dossier "c:\dossier source" vers c:\dossier2 puis afficher un message "La_sauvegarde_est_terminée" à la fin.

3: les paramètres que l'on passe à cp sont un peut différent des paramètres "standard".
exemple: -mode-3 pour cp alors qu'un paramètre normal devrait donner /mode 3

4:Je te met ci-dessous un batch que j'utilise pour sauvegarder des dossiers de mon pc portable du boulot et qui utilise Cp:
Code:

@echo off
set dst=\\172.32.4.70\sauvegardes\Sauvegarde_PC_503
set parametres=-mode-3 -nb-sauv-5 -cache-3 -purge-archive-oui --r-3
set date_1=%date:~3,7%

title [1/3] Sauvegarde Bureau
cmd.exe /C ""%Windir%\cp.bat" "d:\Bureau" "%dst%\Bureau" %parametres% "--b-%dst%\Bureau\Rapport %date_1:/=-%.log" "--n-%dst%\Bureau\Rapport %date_1:/=-%.log" "
title [2/3] Sauvegarde Messagerie
cmd.exe /C ""%Windir%\cp.bat" "C:\Users\Cmanix\AppData\Local\Microsoft\Windows Live Mail" "%dst%\Messagerie" %parametres% "--b-%dst%\Messagerie\Rapport %date_1:/=-%.log" "--n-%dst%\Messagerie\Rapport %date_1:/=-%.log" "
title [3/3] Sauvegarde Documents
cmd.exe /C ""%Windir%\cp.bat" "D:\Documents" "%dst%\Documents" %parametres% "--b-%dst%\Documents\Rapport %date_1:/=-%.log" "--n-%dst%\Documents\Rapport %date_1:/=-%.log" "


5: Pour être sûr qu'on parle bien de la même chose, tu à bien cette fenêtre d'aide ?


6: J'ai l'impression que tu t’attendait à avoir un menu interactif pour utiliser Cp.. ce n'est pas le cas pour le moment, mais je vais voir si je peux faire sa^^

Si tu à bien lù l'aide du batch, ce message et le tutoriel.... ben je vois pas comment t'expliquer mieux^^

Ps: Quelqu'un peut me rassurer en me disant qu'il a tout compris ? Crying or Very sad



Dernière édition par Cαutex le Mar 10 Avr 2012 - 17:08; édité 1 fois

______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message Batch de sauvegarde avec fonction if 
J'ai commencé à coder un menu pour créer ses commande Cp pas à pas .
C'est un brouillon donc pour le moment seul la partie sauvegarde fonctionne mais il manque encore beaucoup d'options.
Je te met sa si sa peut t'aider:


Code:

@echo off
:Menu
Mode Con cols=80
set ligne=ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
set /p choix=Dossier … traiter -^>
set cmd_assist=Cp "%choix%"
call:aff_1
echo ³   1    ³ Faire une copie de fichiers                                     ³
echo %ligne%
echo ³   2    ³ Faire un d‚placement de fichiers                                ³
echo %ligne%
echo ³   3    ³ Faire une sauvegarde de fichiers                                ³
echo %ligne%
echo ³   4    ³ Faire un traitement d'images                                    ³
echo %ligne%
echo ³   5    ³ Faire un traitement de fichiers audio/video                     ³
call:select_1
if "%choix%"=="" goto end2
set choix2=
if not %choix%==4 set /p choix2=Dossier de destination -^>
if not "%choix2%"=="" set cmd_assist=%cmd_assist% "%choix2%"
if %choix%==1 echo partie non cod‚
if %choix%==2 echo partie non cod‚
if %choix%==3 goto Menu_sauv
if %choix%==4 echo partie non cod‚
if %choix%==5 echo partie non cod‚
goto end2


:Menu_sauv
set cmd_assist=%cmd_assist% -mode-3
set choix=
set /p choix=[entrez]:incrementielle; 2:differentielle -^>
if "%choix%"=="2" set cmd_assist=%cmd_assist% -mode-sauv-2
set /p choix=nombre de sauvegarde intermediaire qui d‚clenche l'archivage -^>
set cmd_assist=%cmd_assist% -nb-sauv-%choix%
set /p choix=activer la purge des archives avant l'archivage ? [o/n] -^>
if /I "%choix:~0,1%"=="o" set cmd_assist=%cmd_assist% -purge-archive-oui
set /p choix=Forcer la cr‚ation du dossier de sauvegarde intermediaire quand il n'y a rien … sauvegarder ? [o/n] -^>
if /I "%choix:~0,1%"=="n" set cmd_assist=%cmd_assist% -ac-non
goto valid_conf

:valid_conf
cls&set choix=
echo Appliquer un filtre sur les nom de fichier ?
echo exemple de filtre: *.txt
set /p choix=[entrez]:passer -^>
if not "%choix%"=="" set cmd_assist=%cmd_assist% "-filtre-%choix%"
cls&set choix=
set /p choix=Traiter les fichiers cach‚s et systeme ? [o/n] -^>
if /I "%choix:~0,1%"=="o" set cmd_assist=%cmd_assist% -cache-3
cls&set choix=
set /p choix=Configurer les options de rapport, gestion d'erreur et envoi de mail ? [o/n] -^>
if /I "%choix:~0,1%"=="o" call:conf_ra
cls&set choix=
echo Configurer les autres options ?
echo [destruction d'arborescence, temporisation en fin d'instance, message en fin d'instance, mode de t‚l‚chargement automatique, etc...]
set /p choix=[o/n] -^>
if /I "%choix:~0,1%"=="o" call:conf_au



cls
set choix=
set /p choix=[entrez]:commande pour batch; 2:commande directe -^>
if not "%choix%"=="2" set cmd_assist=cmd.exe /C "%cmd_assist%"
echo commande=%cmd_assist%
set /p choix=[entrez]:afficher la commande; 2:executer la commande -^>
if not "%choix%"=="2" (echo>cmd_tmp.txt :: Commande à éxecuter pour lancer le batch Cp:
echo>>cmd_tmp.txt %cmd_assist%
start cmd_tmp.txt
ping localhost -n 2 >nul
del cmd_tmp.txt) Else (start %cmd_assist%)
goto end2

:conf_ra
echo partie non cod‚
pause
goto:eof

:conf_au
echo partie non cod‚
pause
goto:eof

:aff_1
cls
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³          Menu d'assistance … la cr‚ation de commande pour Cp             ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ Option ³                           Description                           ³
echo ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
goto:eof

:select_1
echo ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
set choix=
echo.
set /p choix=-^>
goto:eof

:end2
pause






______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message Batch de sauvegarde avec fonction if 
Merci c'est bon.

Salutations
Jeam



Message Batch de sauvegarde avec fonction if 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch