Dit: http://hazymat.co.uk/2011/08/amazing-robocopy/ script leek mij wel handig om hier thuis te gebruiken voor m'n backups.
Maar op de een of andere manier zit hij vast in een loop? Wat ik te zien krijg zodra ik hem run:
Dit is het script zoals ik het nu heb:
Maar op de een of andere manier zit hij vast in een loop? Wat ik te zien krijg zodra ik hem run:
De laatste 2 regels gaat het dus fout, hij begint weer opnieuw dus. En dit gaat eindeloos zo door. Iemand die ergens de fout ziet? Ik zie hem namelijk niet.IP Replied! Checking connection stability...1 of 6
IP Replied! Checking connection stability...2 of 6
IP Replied! Checking connection stability...3 of 6
IP Replied! Checking connection stability...4 of 6
IP Replied! Checking connection stability...5 of 6
Connection appears stable!
Now checking fileshare
Fileshare is visible. Good to go. Starting copying.
robocopy "D:\Mijn afbeeldingen" "\\192.168.1.137 \BACKUP\PCFRANK\Mijn afbeeldingen" /MIR /ETA /XJ /R:10 /W:10
IP Replied! Checking connection stability...1 of 6
IP Replied! Checking connection stability...2 of 6
Dit is het script zoals ik het nu heb:
Visual Basic:
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
| : This script does a basic robocopy, but also it does the following: : - test connectivity to the machine (ping). Send WOL Magic Packet if it doesn't respond. : - after WOL, wait until the machine appears on the network : - regardless of whether or not we got the machine up using WOL, we still verify a level of ping response consistency before continuing : - verify the network path is visible before continuing : - prompt at the start whether you want to shutdown the machine when finished : - no further prompts during the process @ECHO OFF : SET THE FOLLOWING VARIABLES : Set robocopy destination into two variables. They are used individually to test CIFS and PING connectivity then combined to insert into robocopy command : We'll strip quotes from the outsides of these, so feel free to use quotes around each varilable - or not. Set remotemachine=192.168.1.137 Set copysource=D:\Mijn afbeeldingen\ Set copytoshare=BACKUP\%COMPUTERNAME%\Mijn afbeeldingen : Time to wait after sending wol packet, before bothering to try to do anything else (approx startup time of remote machine) Set timetowol=30 : If, after sending wol and waiting, there's still no response, we'll wait 1 second and try again. : This is the total number of tries. TBH, may as well set this really high and Ctrl-C if you get bored. Set pingfaillimit=25 : What do you consider is a good number of ping receipts to get back before deeming your connection to remote machine is stable? 1 = impatient. 10000 = paranoid. 10 = normal. Set stabilitysatisfaction=6 : Once stability, by the definition of how many pings specified, is attained, we check the copy-to network path is available : Frankly, if it isn't, it probably won't become available. And you'll have to figure out the problem separately. : But this gives us the option to keep trying x number of times before continuing. : Note: this number doesn't correspond to an amount of time. Windows is unpredictable when trying to check fileshares. Set filesharefaillimit=15 : NO MORE VARIABLES TO SET NOW Set consecutivepingcheckcount=1 Set consecutivepingfailcount=1 Set filesharetestcount=1 :pingandcheck ping /n 2 %remotemachine% | find "TTL=" >nul if %errorlevel% == 0 goto reply @echo No Reply on that IP! Tried %consecutivepingfailcount% of %pingfaillimit% times Set consecutivepingcheckcount=1 Set /A consecutivepingfailcount+=1 IF %consecutivepingfailcount% == %pingfaillimit% ( @echo We didn't get very far did we? @echo I waited, but nothing! @echo Increase the pingfaillimit variable? GOTO fin ) goto pingandcheck :reply @echo IP Replied! Checking connection stability... %consecutivepingcheckcount% of %stabilitysatisfaction% Set /A consecutivepingcheckcount+=1 IF %consecutivepingcheckcount% == %stabilitysatisfaction% ( @echo Connection appears stable! GOTO checkfileshare ) GOTO pingandcheck :checkfileshare @echo Now checking fileshare IF EXIST \\%remotemachine%\%copytoshare% ( @echo Fileshare is visible. Good to go. Starting copying. GOTO docopy ) @echo Couldn't find fileshare - tried %filesharetestcount% of %filesharefaillimit% times. Set /A filesharetestcount+=1 ping 127.0.0.1 -n 2 >null IF %filesharetestcount% == %filesharefaillimit% ( @echo Failed to find the fileshare. Oh no! @echo Maybe verify the fileshare is accessible yourself? GOTO fin ) goto checkfileshare :docopy :first three lines strip quotes if found then combine the machine name and share to give path for /f "useback tokens=*" %%a in ('%remotemachine%') do set remotemachine=%%~a for /f "useback tokens=*" %%a in ('%copytoshare%') do set copytoshare=%%~a Set destination=\\%remotemachine%\%copytoshare% ECHO on robocopy "%copysource%" "%destination%" /MIR /ETA /XJ /R:10 /W:10 :fin |