Batch file voor het kopieeren van userdata naar flashdrive

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • jeroenhorst1
  • Registratie: November 2011
  • Laatst online: 19-08 18:50
Beste mede Tweakers,

er komen geregeld mensen bij me, die vragen of ik hun computer 'sneller' kan maken, hebben een virus of andere zaken waardoor hun computer niet meer hun 'oude' computer meer is.

ik vraag altijd wel of ze zelf back-ups van hun 'belangrijke' bestanden willen maken, dat doe ik omdat ik niet weet wat voor een gebruiker belangrijk is. Ach jullie weten allemaal hoe dat gaat ;)

om mezelf gerust te stellen maak ik zelf altijd een back-up van de usermap. als dit niet wil ga ik altijd een standaard rij mappen af;

Desktop
Contacts
Downloads
Favorites
Pictures
Documents
Music
Videos
General Outlook map (for .ost or .pst files)

Dit moet makkelijker kunnen. ik heb geprobeerd om een batchfile te maken die deze mappen met xcopy kopieert naar mijn usb stick (speciale usb stick voor dit soort klusjes), deze moet dan ingeplugd zijn op schijf letter E. toch kom ik heel vaak tegen dat, de usb stick zich niet in E bevindt en dan moet ik via schijfbeheer deze eerst aanpassen.

omdat er een vervang ronde gaande is op mijn werk, is het handig deze ook te gebruiken, maar gebruikers mogen niet schijf beheer openen, en moet ik dus mn script steeds aanpassen. (gebruik m alleen bij oudere gebruikers, officieel moet alles op hun homedir staan)

is er ook een commando dat zoekt naar de juiste usb stick? en hoe pas ik mijn backup locatie regel hierop aan?


Hieronder vindt je de code die ik heb gemaakt;



code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
@echo off
title Backup files Desktop, Contacts, Downloads, Favorites, Pictures,(my) Documents, (my) Music, (my) videos and outlook folder (.pst/.ost)
color 2F

:: EINDE SECTIE

@echo off
echo -----------------------------------------------------------------------------
echo ----------- Jeroenhorst - Backuptool -----------------------
echo PLEASE READ:
echo You are about to backup your; Desktop, Contacts, Downloads, Favorites, Pictures,(my) Documents, (my) Music, (my) videos and outlook folder (.pst/.ost) to a flashdrive. 
echo Depending on the amount of files you have, this process may take a few minutes.

:: EINDE SECTIE

echo What kind of driveletter does you flashdrive have?
:choice
set /P c=Please give the flashdrive letter [/e]?
if /I "%c%" EQU "E" goto :flashdrive letter FE

:flashdrive letter FE
cls
echo in my testproces, I didnt get all of the C:\Users\%username%\AppData maps and files (hidden folder). 
echo please do this manually!
pause
cls
Echo Desktop
xcopy "c:\Documents and settings\%username%\Desktop" E:\Backup userfiles\%username%\Desktop" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls
echo Contacts
xcopy "c:\Documents and settings\%username%\contacts" "E:\Backup userfiles\%username%\contacts" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls
echo Downloads
xcopy "c:\Documents and settings\%username%\Downloads" "E:\Backup userfiles\%username%\Downloads" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls
echo Favorites
xcopy "c:\Documents and settings\%username%\Favorites" "E:\Backup userfiles\%username%\Favorites" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls
echo Pictures
xcopy "c:\Documents and settings\%username%\Pictures" "E:\Backup userfiles\%username%\Pictures" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls
echo Documents
xcopy "c:\Documents and settings\%username%\Documents" "E:\Backup userfiles\%username%\Documents" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
:: looks like this command will backup my music and my pictures folder. this get an error dont know why, buth this is no problem.
:: the commands for these maps, are here under.
pause
cls
echo Music
xcopy "c:\Documents and settings\%username%\Music" "E:\Backup userfiles\%username%\Music" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls
echo Videos
xcopy "c:\Documents and settings\%username%\Videos" "E:\Backup userfiles\%username%\Videos" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls
echo General Outlook map (for .ost or .pst files)
xcopy "C:\Users\%username%\AppData\Local\Microsoft\Outlook" "E:\Backup userfiles\%username%\outlook" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls

echo File transfer is completed! this .batchfile wil close when hit the any key ;)
pause
exit





ik heb het internet al zitten afzoeken, en kom vergelijkbare scripts tegen, maar dat script loopt dan steeds niet zoals ik het wil doen. ik heb al een beetje lopen experimenteren met %drive% i.p.v E:\ maar dat wil niet echt lukken...

er zit een keuze scherm aan het begin. ik had eerst het script zo gemaakt dat je alle driveletters kon kiezen, maar op een of andere manier deed het script dan eerst een andere driveletter (wat fout gaat) en pas daarna de juiste.

Owh, let niet op de spelingsfoutjes en dergelijke, dat is niet mijn sterkste kant. ik hoop dat jullie me verder kunnen helpen!

Alle reacties


Acties:
  • 0 Henk 'm!

  • supergert
  • Registratie: December 2001
  • Niet online
Batchfile op de USB-stick zetten en dan de drive-letter van de USB-stick gebruiken?

ZX81 > C64 > Amiga > BeBox > PowerMac > pc-klonen...


Acties:
  • 0 Henk 'm!

  • Trommelrem
  • Registratie: Februari 2009
  • Laatst online: 09-11-2021
code:
1
%~dp0

Acties:
  • 0 Henk 'm!

  • jeroenhorst1
  • Registratie: November 2011
  • Laatst online: 19-08 18:50
Woowh! super snel reply, geweldig!! ik heb het voor elkaar gekregen :D post hieronder het 'werkende'script
heb het batch bestandje in een virtuele machine op een usb stick gezet en wat zitten rommelen met %CD% helaas geen succes. toen ben ik gaan googlen naar %CD% en kwam ik op deze website waarbij ik een commando zag die Trommelrem had gepost, en hier stond ECHO voor. dus; ECHO "%~dp0" deze heb ik voorin het script geplaatst.

nu moest ik nog de E:\ vervangen, en uit de website die je gepost had zag ik in het script, onderaan de pagina %SourcePath% staan. dit heb ik i.p.v E:\ gedaan, getest and works!

Mijn dank is groot!
Dankje! uitgebreid antwoord staat hierboven, heb je code gebruikt aan het begin van het script met ECHO ervoor.

ik heb hieronder het aangepaste script staan, uiteraard ga ik nu de spelingscheck en dergelijke doen. maar een werkend script, is een werkend script. het keuze scherm zal ik later weer toevoegen.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
@echo off
title Backup files Desktop, Contacts, Downloads, Favorites, Pictures,(my) Documents, (my) Music, (my) videos and outlook folder (.pst/.ost)
color 2F

:: EINDE SECTIE

@echo off
echo -----------------------------------------------------------------------------
echo ----------- Jeroenhorst - Backuptool -----------------------
echo PLEASE READ:
echo You are about to backup your; Desktop, Contacts, Downloads, Favorites, Pictures,(my) Documents, (my) Music, (my) videos and outlook folder (.pst/.ost) to a flashdrive. 
echo Depending on the amount of files you have, this process may take a few minutes.

:: EINDE SECTIE

Echo please run the batchfile from the backup flashdrive, otherwise the data would not be written to the flashdrive!
echo  The flashdrive where the script is, and where the data is going to place is "%~dp0"
pause

cls
echo in my testproces, I didnt get all of the C:\Users\%username%\AppData maps and files (hidden folder). 
echo please do this manually!
pause
cls
Echo Desktop
xcopy "c:\Documents and settings\%username%\Desktop" "%SourcePath%\Backup userfiles\%username%\Desktop" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls
echo Contacts
xcopy "c:\Documents and settings\%username%\contacts" "%SourcePath%\Backup userfiles\%username%\contacts" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls
echo Downloads
xcopy "c:\Documents and settings\%username%\Downloads" "%SourcePath%\Backup userfiles\%username%\Downloads" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls
echo Favorites
xcopy "c:\Documents and settings\%username%\Favorites" "%SourcePath%\Backup userfiles\%username%\Favorites" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls
echo Pictures
xcopy "c:\Documents and settings\%username%\Pictures" "%SourcePath%\Backup userfiles\%username%\Pictures" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls
echo Documents
xcopy "c:\Documents and settings\%username%\Documents" "%SourcePath%\Backup userfiles\%username%\Documents" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
:: looks like this command will backup my music and my pictures folder. this get an error dont know why, buth this is no problem.
:: the commands for these maps, are here under.
pause
cls
echo Music
xcopy "c:\Documents and settings\%username%\Music" "%SourcePath%\Backup userfiles\%username%\Music" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls
echo Videos
xcopy "c:\Documents and settings\%username%\Videos" "%SourcePath%\Backup userfiles\%username%\Videos" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls
echo General Outlook map (for .ost or .pst files)
xcopy "C:\Users\%username%\AppData\Local\Microsoft\Outlook" "%SourcePath%\Backup userfiles\%username%\outlook" /D /E /C /R /H /I /K /Y
echo Check totall copyed files with the original folder
pause
cls

echo File transfer is completed! this .batchfile wil close when hit the any key ;)
pause
exit

Acties:
  • 0 Henk 'm!

Palthe

Misschien nog een tip: backups maken werkt fijner met robocopy itt xcopy. Dit betekent wel je script deels herschrijven maar ik vind robocopy echt een stuk robuuster dan xcopy. Denk hierbij aan lengte bestandsnamen etcetera. Je kunt hierbij ook een logfile genereren die al jouw handmatige checks al heeft gedaan :). En het is gewoon onderdeel van Windows. Er zijn echt heel veel voorbeeldjes te vinden, ik denk dat je er heel blij van wordt.

[ Voor 32% gewijzigd door Palthe op 16-08-2016 13:23 ]


Acties:
  • 0 Henk 'm!

  • Speedmaster
  • Registratie: Juli 2005
  • Laatst online: 23:22

Speedmaster

Make my day...

Wat nu als de bewuste mappen op een andere locatie staan, of niet meer bestaan.....foutafhandeling kom ik niet echt tegen in je script.......? En misschien zinvol om ook een .log te maken.....?

Acties:
  • 0 Henk 'm!

  • jeroenhorst1
  • Registratie: November 2011
  • Laatst online: 19-08 18:50
palthe schreef op dinsdag 16 augustus 2016 @ 13:21:
Misschien nog een tip: backups maken werkt fijner met robocopy itt xcopy. Dit betekent wel je script deels herschrijven maar ik vind robocopy echt een stuk robuuster dan xcopy. Denk hierbij aan lengte bestandsnamen etcetera. Je kunt hierbij ook een logfile genereren die al jouw handmatige checks al heeft gedaan :). En het is gewoon onderdeel van Windows. Er zijn echt heel veel voorbeeldjes te vinden, ik denk dat je er heel blij van wordt.
ik had al een ander script geprobeerd met ROBOCOPY, vond dit eerst makkelijker. ik heb nog niet zoveel kijk op scripten, maar ik ga zeker een ROBOCOPY versie maken.

Acties:
  • +1 Henk 'm!

  • jeroenhorst1
  • Registratie: November 2011
  • Laatst online: 19-08 18:50
Speedmaster schreef op dinsdag 16 augustus 2016 @ 13:25:
Wat nu als de bewuste mappen op een andere locatie staan, of niet meer bestaan.....foutafhandeling kom ik niet echt tegen in je script.......? En misschien zinvol om ook een .log te maken.....?
ja dat zijn de volgende stappen. ik kom maar net kijken in de scripting scene, dus stapje voor stapje het script groter en beter maken

Acties:
  • 0 Henk 'm!

Palthe

Je kunt heel makkelijk loggen door gewoon een
> [bestandsnaam van logbestand]
toe te voegen aan het eind van de eerste regel die je wilt gaan loggen en
>> [bestandsnaam van logbestand]
Aan elke regel die je wilt appenden.

Maar dit gaat zooo veel makkelijker en mooier met robocopy ;)

Acties:
  • 0 Henk 'm!

Palthe

jeroenhorst1 schreef op dinsdag 16 augustus 2016 @ 13:32:
[...]


ik had al een ander script geprobeerd met ROBOCOPY, vond dit eerst makkelijker. ik heb nog niet zoveel kijk op scripten, maar ik ga zeker een ROBOCOPY versie maken.
Xcopy kan ook prima maar heeft gewoon minder opties en is foutgevoeliger. Je kunt bijna kant-en-klare robbocopy scripts downloaden en een klein beetje aanpassen.

Acties:
  • +1 Henk 'm!

  • Alternative
  • Registratie: November 2008
  • Laatst online: 10-04-2022
Voor de fout melding die je krijgt bij het je documenten kan je gewoon een exclude maken. Dus even /EXCLUDE:naamtextbestand.txt toevoegen aan die regel.
En dan in het exclude tekst bestand:
\My Pictures\
\My Music\
\My Videos\
\Mijn afbeeldingen\
\Mijn muziek\
\Mijn video's\
Pagina: 1