Signaler

Programmer une sauvegarde [Résolu]

Posez votre question t671 1129Messages postés lundi 25 février 2008Date d'inscription 23 mai 2017 Dernière intervention - Dernière réponse le 23 mai 2017 à 18:18 par barnabe0057
Bonjour,

Pour Windows Vista, je voudrais programmer automatiquement une sauvegarde d'Outlook Express, et sans utiliser de logiciel externe. J'ai trouvé comment sauvegarder https://www.arobase.org/outlook-express/sauvegarder-donnees-outlook-express.htm
mais maintenent, je voudrais l'automatiser. Peut-être en écrivant un fichier DOS ? Mais comment ?
Sinon, quel logiciel facile et léger puis-je utiliser ?

Merci
Afficher la suite 
Utile
+0
plus moins
Bonjour,

Si tu veux un script DOS je peux t'aider, seulement je n'ai pas de Vista sous la main, il faut que tu me donnes le chemin vers le dossier où sont stockés les messages et les contacts, quelque chose du style :

C:\Users\ton nom\AppData\Local\....
Donnez votre avis
Utile
+0
plus moins
Merci barnabe0057.
Voici le chemin d'accès qui mène aux messages
Thierry\AppData\Local\Microsoft\Windows Mail\Local Folders
Là, j'ai plusieurs dossiers, et je ne sais pas lequel :
Delete Items
Drafts
Inbox
Junk E-mail
Outbox
Sent Items
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 13 avril 2017 à 18:36
Ok je m'en occupe, je reviens vers toi dans la soirée.
Répondre
Donnez votre avis
Utile
+0
plus moins
Dans quel emplacement veux-tu stocker tes sauvegardes ?
Donnez votre avis
Utile
+0
plus moins
Voilà monsieur est servi :

@echo off
title Sauvegarde Outlook Express
mode con cols=100 lines=30

:debut
cls
set source=%USERPROFILE%\AppData\Local\Microsoft
set /p destination="Dossier pour le stockage de la sauvegarde ? "
if not exist "%destination%" goto :debut

set retention=7
tasklist | find "msimn" && taskkill /IM msimn.exe /T
cls & echo. & color 0A

echo ****** La sauvegarde OUTLOOK EXPRESS va commencer ******
echo.

ping -n 6 127.0.0.1 > nul

if %source:~0,2% EQU %CD:~0,2% (cd %source% || goto :eof) else (cd /d %source% || goto :eof)
if not exist "%destination%\%date:~6,4%%date:~3,2%%date:~0,2%" mkdir "%destination%\%date:~6,4%%date:~3,2%%date:~0,2%"

xcopy "Windows Mail" "%destination%\%date:~6,4%%date:~3,2%%date:~0,2%\Windows Mail\" /E /H /K /Y || goto :eof

cls & echo.
echo ****** Sauvegarde Outlook Express OK ******
echo. & echo. & echo. & echo. & echo. & echo.

echo ****** Suppression des sauvegardes plus anciennes que %retention% jours ******

Setlocal enableextensions enabledelayedexpansion

for /f "tokens=*" %%A In ('dir /b /ad "%destination%\*.*"') do (
set /a archive=%%A
set /a decote=69

if %date:~3,2% EQU 3 (set /a decote=!decote!+2)
if %date:~3,2% EQU 5 (set /a decote=!decote!+1)
if %date:~3,2% EQU 7 (set /a decote=!decote!+1)
if %date:~3,2% EQU 10 (set /a decote=!decote!+1)
if %date:~3,2% EQU 12 (set /a decote=!decote!+1)

set /a cejour=%date:~6,4%%date:~3,2%%date:~0,2%
set /a result=!cejour!-!archive!

if !result! GEQ 70 (set /a result=!result!-!decote!)
if !result! GEQ %retention% (rmdir /s /q "%destination%\%%A")
)

Endlocal
ping -n 3 127.0.0.1 > nul
exit
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 14 mai 2017 à 20:00
Alors ? Ca marche bien chez toi ?
Répondre
Donnez votre avis
Utile
+0
plus moins
Désolé barnabe0057, mais je n'ai aucun souvenir d'avoir posté ce sujet ...... !!!!??

Je ne vois pas pourquoi, n'y pourquoi !!!!!????
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 15 mai 2017 à 11:31
Bizarre, un certain Thierry a utilisé ton compte CCM.
Répondre
Donnez votre avis
Utile
+0
plus moins
Ouuupppssssss !!!!!! Désolé barnabe0057 ! Effectivement, maintenant je me rappelle ........... faut pas m'en vouloir .......... ;)
Je n'avais jamais eu ta réponse. Peut être avais-je oublié de cocher la case qui va bien ........

La sauvegarde, je souhaite l'enregistrer sous
"D:/Mes Documents/Sauvegardes outlook".
Comment placer la destination dans ton code ?
Je vais utiliser ton code dans le "Planificateur de tâches". Faut-il garder ton code au format txt ou autre ?
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 15 mai 2017 à 15:53
J'ai ajouté l'emplacement "D:/Mes Documents/Sauvegardes outlook" :

@echo off
title Sauvegarde Outlook Express
mode con cols=110 lines=30
chcp 1252 > nul
Setlocal enableextensions enabledelayedexpansion

set source=%USERPROFILE%\AppData\Local\Microsoft
set destination=D:\Mes Documents\Sauvegardes outlook
set retention=7
set dossier=%date:~6,4%%date:~3,2%%date:~0,2%

(tasklist | find "msimn") && (taskkill /IM msimn.exe /T)

cls & echo. & color 0A
echo ****** La sauvegarde OUTLOOK EXPRESS va commencer ******
echo.
ping -n 4 127.0.0.1 > nul

%source:~0,2% & cd %source%
if not exist "%destination%\%dossier%" (mkdir "%destination%\%dossier%")
xcopy "Windows Mail" "%destination%\%dossier%\Windows Mail\" /E /H /K /Y

cls & echo.
echo ****** Sauvegarde OUTLOOK EXPRESS OK ******
echo. & echo. & echo. & echo. & echo. & echo.
echo ****** Suppression des sauvegardes antérieures à %retention% jours ******

for /D %%A in ("%destination%\*") do (
set /a archive=%%~nA
set /a decote=69
if %date:~3,2% EQU 3 (set /a decote=!decote!+2)

for %%B in (5,7,10,12) do (if %date:~3,2% EQU %%B (set /a decote=!decote!+1))

set /a cejour=%date:~6,4%%date:~3,2%%date:~0,2%
set /a result=!cejour!-!archive!

if !result! GEQ 70 (set /a result=!result!-!decote!)
if !result! GEQ %retention% (rmdir /s /q "%destination%\%%~nA")
)

Endlocal
ping -n 5 127.0.0.1 > nul
exit


Tu colles ce code dans un fichier, par exemple Nouveau document texte.txt, puis tu le renommes comme ceci : t671.bat

Tu testes le script et si tout va bien tu crées une tâche planifiée.
Répondre
Donnez votre avis
Utile
+0
plus moins
Le script fonctionne !!!!!!
Par contre, celui-ci disparait du dossier une fois la sauvegarde terminée, et donc la tâche ne peut se répéter ...........
A partir de la sauvegarde effectuée, comment replacer ces éléments dans la boîte outlook express, au cas où ?
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 15 mai 2017 à 17:48
Met le script où tu veux mais pas dans ce dossier.
Répondre
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 16 mai 2017 à 07:12
Voilà un script pour restaurer une sauvegarde si besoin :

@echo off
title Restauration Outlook Express
mode con cols=110 lines=30
color 0A
Setlocal enableextensions

if "A%~1A"=="AA" (goto :eof)
if exist %1 (call :restauration %1 "Windows Mail")

Endlocal
exit

:restauration
%~d1 & cd %~1
(tasklist | find "msimn") && (taskkill /IM msimn.exe /T)
if exist %2 (xcopy %2 "%USERPROFILE%\AppData\Local\Microsoft\%~2\" /E /H /K /Y)
goto :eof

rem


Pour utiliser ce script il suffit de faire glisser un des dossiers de sauvegarde (ceux dont le nom est une date) sur l'icône du script.
Répondre
Donnez votre avis
Utile
+0
plus moins
Merci pour tout barnabe0057 !
Tout fonctionne !!!!!
T'es trop fort ........... ;o)
A noter qu'en faite, ce n'est pas Outlook Expresse, mais Windows mail. Mais ça fonctionne quand même ...........
A ++
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 16 mai 2017 à 11:20
De rien, à bientôt peut-être.

Bonne journée.
Répondre
Donnez votre avis
Utile
+0
plus moins
Ouppsss !!! Encore une question.
Si je veux appliquer ton script pour une sauvegarde de Microsoft Outlook, est-ce qu'il suffit de remplacer dans ton script Windows Mail par Microsoft Outlook ?
Est-ce que le résultat équivaudra à faire une sauvegarde en ".pst" ?
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 16 mai 2017 à 12:41
Non d'après quelques rapides recherches, les emplacements des fichiers sont un peu différents.

Il faudrait que j'adapte mon script, quand j'aurai un peu plus de temps libre.

De quel Outlook s'agit-il ? (2007, 2010, 2013, 2016)
Répondre
Donnez votre avis
Utile
+0
plus moins
Mon Microsoft Outlook est le 2007. Pour l'instant, je cré régulièrement une sauvegarde en ".pst". Mais je me demande si avec ton script ce ne serai pas mieux ........... !!!!!
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 16 mai 2017 à 15:10
Je suis en train de plancher dessus, j'ai presque fini, mais il faudra que tu testes car je n'ai pas Outlook sur mon pc.
Répondre
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 16 mai 2017 à 15:30
Voilà une première version à tester :

@echo off
title Sauvegarde OUTLOOK
mode con cols=110 lines=30
chcp 1252 > nul
Setlocal enableextensions enabledelayedexpansion

set destination=D:\Mes Documents\Sauvegardes outlook
set dossier=%date:~6,4%%date:~3,2%%date:~0,2%
set retention=7

if not exist "%destination%" (goto :eof)
if not exist "%destination%\%dossier%" (mkdir "%destination%\%dossier%")

echo. & echo Dossier de sauvegarde = %destination%\%dossier%
timeout /t 8

cls & echo. & color 0A
echo ****** La sauvegarde OUTLOOK (2007-2010) va commencer ******
echo.
ping -n 4 127.0.0.1 > nul

%HOMEDRIVE%

call :sauvegarde "%AppData%" "Microsoft\UProof"
call :sauvegarde "%AppData%" "Microsoft\Templates"
call :sauvegarde "%AppData%" "Microsoft\Outlook"
call :sauvegarde "%AppData%" "Microsoft\Signatures"
call :sauvegarde "%AppData%" "Outlook"
call :sauvegarde "%CommonProgramFiles%" "Microsoft Shared\Stationery"
call :sauvegarde "%USERPROFILE%" "AppData\Local\Microsoft\Forms"
call :sauvegarde "%USERPROFILE%" "AppData\Local\Microsoft\Outlook"
call :sauvegarde "%USERPROFILE%" "Documents\Fichiers Outlook"

cls & echo.
echo ****** Sauvegarde OUTLOOK OK ******
echo. & echo. & echo. & echo. & echo. & echo.
call :rotation "%destination%" %retention%

Endlocal
exit


:sauvegarde
if exist "%~1\%~2" (xcopy "%~1\%~2" "%destination%\%dossier%\%~2" /E /H /K /Y)
goto :eof

:rotation
echo ****** Suppression des sauvegardes antérieures à %~2 jours ******

for /D %%A in ("%~1\*") do (
set /a archive=%%~nA
set /a decote=69
if %date:~3,2% EQU 3 (set /a decote=!decote!+2)

for %%B in (5,7,10,12) do (if %date:~3,2% EQU %%B (set /a decote=!decote!+1))

set /a cejour=%date:~6,4%%date:~3,2%%date:~0,2%
set /a result=!cejour!-!archive!

if !result! GEQ 70 (set /a result=!result!-!decote!)
if !result! GEQ %~2 (rmdir /s /q "%~1\%%~nA")
)

ping -n 5 127.0.0.1 > nul
goto :eof

rem
Répondre
t671 1129Messages postés lundi 25 février 2008Date d'inscription 23 mai 2017 Dernière intervention - 16 mai 2017 à 16:46
Çà ne fonctionne pas. Une fenêtre DOS s'ouvre et se ferme aussitôt, sans message d'erreur !
Répondre
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 16 mai 2017 à 17:13
Ok merci pour le retour, je vais voir ce que je peux faire.
Répondre
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 16 mai 2017 à 17:54
Est-ce que c'est mieux comme ça :

@echo off
title Sauvegarde OUTLOOK
mode con cols=110 lines=30
chcp 1252 > nul
Setlocal enableextensions enabledelayedexpansion

set destination=D:\Mes Documents\Sauvegardes outlook
set dossier=%date:~6,4%%date:~3,2%%date:~0,2%
set retention=7

if not exist "%destination%\%dossier%" (mkdir "%destination%\%dossier%")

(tasklist | find "outlook") && (taskkill /IM outlook.exe /T)

echo. & echo Le dossier de stockage de la sauvegarde sera = %destination%\%dossier%
timeout /T 8

cls & echo. & color 0A
echo ****** La sauvegarde OUTLOOK (2007-2010) va commencer ******
echo.
ping -n 4 127.0.0.1 > nul

%HOMEDRIVE% & cd\

call :sauvegarde "%AppData%" "Microsoft\UProof"
call :sauvegarde "%AppData%" "Microsoft\Templates"
call :sauvegarde "%AppData%" "Microsoft\Outlook"
call :sauvegarde "%AppData%" "Microsoft\Signatures"
call :sauvegarde "%AppData%" "Outlook"
call :sauvegarde "%CommonProgramFiles%" "Microsoft Shared\Stationery"
call :sauvegarde "%USERPROFILE%" "AppData\Local\Microsoft\Forms"
call :sauvegarde "%USERPROFILE%" "AppData\Local\Microsoft\Outlook"
call :sauvegarde "%USERPROFILE%" "Documents\Fichiers Outlook"

cls & echo.
echo ****** Sauvegarde OUTLOOK terminée ******
echo. & echo. & echo. & echo. & echo. & echo.
call :rotation "%destination%" %retention%

Endlocal
exit


:sauvegarde
if exist "%~1\%~2" (xcopy "%~1\%~2" "%destination%\%dossier%\%~2\" /E /H /K /Y)
goto :eof

:rotation
echo ****** Suppression des sauvegardes antérieures à %~2 jours ******

for /D %%A in ("%~1\*") do (
set /a archive=%%~nA
set /a decote=69
if %date:~3,2% EQU 3 (set /a decote=!decote!+2)

for %%B in (5,7,10,12) do (if %date:~3,2% EQU %%B (set /a decote=!decote!+1))

set /a cejour=%date:~6,4%%date:~3,2%%date:~0,2%
set /a result=!cejour!-!archive!

if !result! GEQ 70 (set /a result=!result!-!decote!)
if !result! GEQ %~2 (rmdir /s /q "%~1\%%~nA")
)

ping -n 5 127.0.0.1 > nul
goto :eof

rem

Est-ce que tu as Vista 32bits ou 64bits ?
Répondre
Donnez votre avis
Utile
+0
plus moins
Mon Vista est 32 bits.
Lorsque j’exécute la sauvegarde, celle-ci à l'air de s'exécuter correctement, mais à la fin, il n'y a aucune sauvegarde créée. Ou alors je ne sais où ? Et le temps de pose au débute du script, est-il vraiment utile ?
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 20 mai 2017 à 18:06
La sauvegarde devrait se trouver dans D:\Mes Documents\Sauvegardes outlook

Le temps de pause c'est pour le fun, tu peux l'enlever.
Répondre
Donnez votre avis
Utile
+0
plus moins
Effectivement ................ ;o)
Et pour restaurer la sauvegarde, ça se passe comment ???
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 20 mai 2017 à 19:04
Si tu me confirmes que tout va bien je vais m'atteler à la partie restauration, je vais l'intégrer dans le même script, je vais utiliser la technique du glisser-déposer c'est ce qu'il y a de plus pratique je trouve.
Répondre
Donnez votre avis
Utile
+0
plus moins
C'est vrai que le glisser-déposer, c'est top !!!!!
Donnez votre avis
Utile
+0
plus moins
Voilà le script avec la partie sauvegarde et la partie restauration :

@echo off
title Sauvegarde-Restauration OUTLOOK
mode con cols=110 lines=30
chcp 1252 > nul
color 0A
Setlocal enableextensions enabledelayedexpansion

rem
rem
rem

if "A%~1A"=="AA" (call :backup)
if exist "%~1" (call :restore %1)

Endlocal
exit

rem
rem
rem

:restore
%~d1 & cd %~1
if exist "AppData\Local\Microsoft\Outlook" (call :execution restauration)
goto :eof

rem
rem
rem

:execution
(tasklist | find "outlook") && (taskkill /IM outlook.exe /T)

call :%1 "%AppData%" "Microsoft\UProof"
call :%1 "%AppData%" "Microsoft\Templates"
call :%1 "%AppData%" "Microsoft\Outlook"
call :%1 "%AppData%" "Microsoft\Signatures"
call :%1 "%AppData%" "Outlook"
call :%1 "%CommonProgramFiles%" "Microsoft Shared\Stationery"
call :%1 "%USERPROFILE%" "AppData\Local\Microsoft\Forms"
call :%1 "%USERPROFILE%" "AppData\Local\Microsoft\Outlook"
call :%1 "%USERPROFILE%" "Documents\Fichiers Outlook"

goto :eof

rem
rem
rem

:restauration
if exist %2 (xcopy %2 "%~1\%~2\" /E /H /K /Y)
goto :eof

rem
rem
rem

:backup
set destination=D:\Mes Documents\Sauvegardes outlook
set dossier=%date:~6,4%%date:~3,2%%date:~0,2%
set retention=7

if not exist "%destination%\%dossier%" (mkdir "%destination%\%dossier%")

%HOMEDRIVE% & cd\

call :execution sauvegarde
call :rotation "%destination%" %retention%

goto :eof

rem
rem
rem

:sauvegarde
if exist "%~1\%~2" (xcopy "%~1\%~2" "%destination%\%dossier%\%~2\" /E /H /K /Y)
goto :eof

rem
rem
rem

:rotation
for /D %%A in ("%~1\*") do (
set /a archive=%%~nA
set /a decote=69
if %date:~3,2% EQU 3 (set /a decote=!decote!+2)

for %%B in (5,7,10,12) do (if %date:~3,2% EQU %%B (set /a decote=!decote!+1))

set /a cejour=%date:~6,4%%date:~3,2%%date:~0,2%
set /a result=!cejour!-!archive!

if !result! GEQ 70 (set /a result=!result!-!decote!)
if !result! GEQ %~2 (rmdir /s /q "%~1\%%~nA")
)

goto :eof

rem


Je rappelle que ce script fonctionne avec Outlook 2007 ou 2010, pour sauvegarder il suffit de double-cliquer, et pour restaurer il faut faire glisser le dossier de sauvegarde sur le fichier bat.
Donnez votre avis
Utile
+0
plus moins
Merci beaucoup barnabe0057 ! Ca fonctionne !!! C'est sympa !

Je me permet encore de te demander 2 choses !

Quelle ligne doit on rajouter à la fin de ton code pour que celui-ci supprime automatiquement le dossier précédent. Comme le dossier prend la date du jour, ça devrait être faisable !?

Esr-il possible de créer un bat qui crée un point de restauration ?
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 23 mai 2017 à 12:51
Quelle ligne doit on rajouter à la fin de ton code pour que celui-ci supprime automatiquement le dossier précédent
==>> il faut indiquer le nombre de jours que tu veux conserver, en modifiant cette ligne :
set retention=7
Répondre
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 23 mai 2017 à 13:00
Pour le point de restauration j'ai testé et approuvé ce script vbs :

http://www.chantal11.com/2010/07/raccourci-creer-point-restauration-script-windows-7-vista/

Bonne journée.
Répondre
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 23 mai 2017 à 13:15
J'ai trouvé ceci en batch, tout en une seule ligne :
Wmic.exe /Namespace:\\root\default Path SystemRestore Call CreateRestorePoint "%DATE%", 100, 7

J'ai testé sur mon windows 7 ça fonctionne, j'ai trouvé le code sur ce site :
http://www.ginjfo.com/actualites/logiciels/windows-10/windows-10-comment-creer-instantanement-un-point-de-restauration-20151228
Répondre
Donnez votre avis
Utile
+0
plus moins
Bon pour l'instant je ne peux trop tester car maintenant j'ai l'erreur sur mon pc "Impossible d'enregistrer le fichier de correction automatique MSO1036.ad".
J'ai cherché sur le netune solution, mais rien de concret.
J'ai tenté une restauration, mais rien n'y fait.
J'ai nettoyé le pc avec Adwcleaner, mais c'est pareil.
La seule solution que je connaisse c'est de replacer une image précédemment sauvegardée. Comme je l'avais déjà fait il y a une quinzaine de jours pour la même raison.
Mais j'aurais préféré réparer l'erreur, et non remettre l'image à chaque fois ........
Tu en penses quoi ????
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 23 mai 2017 à 18:14
On dirait que ton fichier est corrompu, j'ai trouvé quelques renseignements sur le fichier mais pas sur l'erreur :

http://www.faqword.com/index.php/word/tutos/2007-2010/618

La prochaine fois anticipe en sauvegardant régulièrement ce fichier.
Répondre
barnabe0057 10279Messages postés lundi 2 mars 2009Date d'inscription ContributeurStatut 23 mai 2017 Dernière intervention - 23 mai 2017 à 18:18
Ou alors c'est une faute de frappe : MSO1036.acl et pas MSO1036.ad
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !