Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Backup per Batch - fast ok, aber Probleme mit choiceroutinen (calls?)

Frage Entwicklung Batch & Shell

Mitglied: 19958

19958 (Level 1)

19.02.2007, aktualisiert 22.02.2007, 5087 Aufrufe, 17 Kommentare

Hallo zusammen,

nehmt es mir bitte nicht übel, aber nach stundenlangem tüfteln weiss ich nicht mehr weiter.
Ich schrieb eine Batch die mir Daten auf ein USB Medium backuppen soll. Leider hakt es bei dem
choice befehl. ich weiss dass dieser interpreter unter XP nicht zur verfügung steht, weshalb ich ihn
jedoch als file habe im selben DIR wie mein batchfile... also gehts wohl um call aufrufe?

Nun habe ich folgendes Problem:

In meinem Batch soll man wählen können, Backup (J)a oder (N)ein.
wenn man nun Ja eingibt geht alles gut denke ich..
aber bei Nein sollte als anzeige folgendes kommen:

01.
echo ************************************************************************ 
02.
echo Backup wurde NICHT durchgefuehrt ! 
03.
echo ************************************************************************ 
04.
 
05.
Leider kommt aber immer dass das Backup erfolgte.. *kopfkratz*  
06.
Bin ich nun total verblödet? Was habe ichvergessen oder übersehen? 
07.
Sorry, habe schon jahrelang keine Batches mehr geschrieben, vielleicht hilft mir einer kurz 
08.
mal aus oder auf die und bringt den Kram in die richtige Ordnung? 
09.
 
10.
Hey, 1000 Dank schon mal!!!!!!! 
11.
 
12.
 
13.
Hier das Script: 
14.
 
15.
 
16.
 
17.
@echo off 
18.
Cls 
19.
Color 0A 
20.
echo ************************************************************************ 
21.
echo * BACKUPPER                                                            * 
22.
echo ************************************************************************ 
23.
set source1=C:\Tempo 
24.
set source2=C:\Mail 
25.
set source3=C:\ZBoot 
26.
set dest1=Quellordner1 
27.
set dest2=Quellordner2 
28.
set dest3=Quellordner3 
29.
set drive=Y:\Backup\ 
30.
set dateNtime=%date:~0,2%-%date:~3,2%-%date:~6,6%_%time:~0,2%-%time:~3,2% 
31.
set backupcmd=xcopy /s /c /d /e /h /i /r /k /y 
32.
choice /c:JN /N Backup starten ? Waehlen Sie (J)a oder (N)ein 
33.
echo. 
34.
echo. 
35.
if errorlevel 1 goto run 
36.
if errorlevel 2 goto cancel 
37.
echo. 
38.
:run 
39.
echo Starte Backup nach: %drive%\%dateNtime% 
40.
echo. 
41.
%backupcmd% %source1% "%drive%\%dateNtime%\%dest1%" 
42.
%backupcmd% %source2% "%drive%\%dateNtime%\%dest2%" 
43.
%backupcmd% %source3% "%drive%\%dateNtime%\%dest3%" 
44.
if errorlevel 0 goto run 
45.
cls 
46.
:cancel 
47.
echo ************************************************************************ 
48.
echo Backup wurde NICHT durchgefuehrt ! 
49.
echo ************************************************************************ 
50.
echo. 
51.
:run 
52.
echo. 
53.
echo ************************************************************************ 
54.
echo Backup nach %Drive%\%dateNtime% erfolgreich abgeschlossen ! 
55.
echo ************************************************************************ 
56.
echo. 
57.
:End 
58.
@pause
Mitglied: onegasee59
19.02.2007 um 23:37 Uhr
Hallo Chris_qlt,

machs Dir doch einfacher und verzichte auf das Tool

01.
:auswahl0 
02.
echo. 
03.
cls 
04.
set /p choice=Backup starten ? Waehlen Sie (J)a oder (N)ein - Eingabe mit Taste Enter bestaetigen:__   ("__" steht hier für 2 Leerzeichen,  sieht besser aus)   
05.
if "%choice%"=="j" goto run 
06.
if "%choice%"=="J" goto run 
07.
if "%choice%"=="n" goto cancel 
08.
if "%choice%"=="N" goto cancel 
09.
set choice=_   (exakt so schreiben, damit werden ALLE Eingaben außer j/J/n/N abgewiesen ohne das das Tool abbricht  
10.
goto auswahl0
gruß
onegasee59
Bitte warten ..
Mitglied: filippg
20.02.2007 um 01:08 Uhr
Hallo,

was auf jeden Fall fehlt ist ein goto End:

:cancel
echo
echo Backup wurde NICHT durchgefuehrt !
echo
echo.
goto End
:run
echo.

Filipp
Bitte warten ..
Mitglied: bastla
20.02.2007 um 09:11 Uhr
@onegasee59

Etwas verkürzen könntest Du noch mit
01.
... 
02.
if /i "%choice%"=="j" goto run 
03.
if /i "%choice%"=="n" goto cancel 
04.
...
Grüße
bastla
Bitte warten ..
Mitglied: 19958
20.02.2007 um 09:13 Uhr
Hallo zusammen,
zunächst vielen Dank für die Unterstützung! Habe den Vorschlag von oegasee59
aufgegriffen und auf mein choice.com-file verzichtet.
Leider erwuchsen mir hieraus andere Probleme. So wie es es aussieht bekomme ich das Handling nicht hin wenn der Benutzer etwas anderes als J,j,N,n eingibt !?
In dem Fall kommt immer die ausgabe dass das Backup nicht durchgeführt wurde,
das stimmz zwar aber ich möchte gerne dass er wieder auf der Zeile landet um erneut die Eingabe zu machen.. eine akkustische Meldung wenn er was anderes tippt als J oder N
wäre auch nicht schlecht.. sorry leute, programmieren is nich mein Ding. Ich würde mich sehr freuen wenn mir einer meinen Code geradebiegt... mein batchfile geht ja soweit.. es kann sich ja nur um kleinigkeiten handen, oder?

der code:

01.
@echo off 
02.
cls 
03.
color 0A 
04.
echo ************************************************************************ 
05.
echo BACKUP                                                                   
06.
echo ************************************************************************ 
07.
set source1=C:\savegame 
08.
set source2=C:\Mail 
09.
set source3=C:\ZBoot 
10.
set dest1=Quellordner1 
11.
set dest2=Quellordner2 
12.
set dest3=Quellordner3 
13.
set drive=E:\Backup\PC 
14.
set dateNtime=%date:~0,2%-%date:~3,2%-%date:~6,6%_%time:~0,2%-%time:~3,2% 
15.
echo. 
16.
set /p choice=Backup ? Waehlen Sie (J)a oder (N)ein danach mit Enter bestaetigen   
17.
set backupcmd=xcopy /s /c /d /e /h /i /r /k /y 
18.
echo. 
19.
:choose 
20.
if "%choice%"=="j" goto run 
21.
if "%choice%"=="J" goto run 
22.
if "%choice%"=="n" goto cancel 
23.
if "%choice%"=="N" goto cancel 
24.
set choice=_  goto choose 
25.
goto cancel 
26.
echo. 
27.
:run 
28.
echo Starte Backup nach: %drive%\%dateNtime% 
29.
echo. 
30.
%backupcmd% %source1% "%drive%\%dateNtime%\%dest1%" 
31.
%backupcmd% %source2% "%drive%\%dateNtime%\%dest2%" 
32.
%backupcmd% %source3% "%drive%\%dateNtime%\%dest3%" 
33.
goto rep 
34.
:cancel 
35.
echo. 
36.
echo ************************************************************************ 
37.
echo Backup wurde NICHT ausgefuehrt ! 
38.
echo ************************************************************************ 
39.
echo. 
40.
goto end 
41.
:rep 
42.
echo. 
43.
echo ************************************************************************ 
44.
echo Backup nach %Drive%\%dateNtime% erfolgreich abgeschlossen ! 
45.
echo ************************************************************************ 
46.
echo. 
47.
:end 
48.
@pause
vielen Dank!
Bitte warten ..
Mitglied: bastla
20.02.2007 um 09:47 Uhr
Hallo Chris_qlt!

Versuch es damit:
01.
@echo off 
02.
color 0A 
03.
set source1=C:\savegame 
04.
set source2=C:\Mail 
05.
set source3=C:\ZBoot 
06.
set dest1=Quellordner1 
07.
set dest2=Quellordner2 
08.
set dest3=Quellordner3 
09.
set drive=E:\Backup\PC 
10.
set dateNtime=%date:~0,2%-%date:~3,2%-%date:~6,6%_%time:~0,2%-%time:~3,2% 
11.
set backupcmd=xcopy /s /c /d /e /h /i /r /k /y 
12.
:choose 
13.
cls 
14.
echo. 
15.
echo BACKUP 
16.
echo. 
17.
echo. 
18.
set /p choice=Backup ? Waehlen Sie (J)a oder (N)ein danach mit Enter bestaetigen   
19.
echo. 
20.
if /i "%choice%"=="j" goto :run 
21.
if /i "%choice%"=="n" goto :cancel 
22.
set choice= 
23.
goto :choose 
24.
:run 
25.
echo Starte Backup nach: %drive%\%dateNtime% 
26.
echo. 
27.
%backupcmd% %source1% "%drive%\%dateNtime%\%dest1%" 
28.
%backupcmd% %source2% "%drive%\%dateNtime%\%dest2%" 
29.
%backupcmd% %source3% "%drive%\%dateNtime%\%dest3%" 
30.
echo. 
31.
echo. 
32.
echo Backup nach %Drive%\%dateNtime% erfolgreich abgeschlossen ! 
33.
echo. 
34.
echo. 
35.
goto :end 
36.
:cancel 
37.
echo. 
38.
echo. 
39.
echo Backup wurde NICHT ausgefuehrt ! 
40.
echo. 
41.
echo. 
42.
:end 
43.
@pause
Grüße
bastla

[Edit] Anstatt einzelner Hinweise Code angepasst [/Edit]
Bitte warten ..
Mitglied: onegasee59
20.02.2007 um 11:06 Uhr
@bastla

ohja Danke - Hand vor Stirn schlag.

gruß
onegasee59
Bitte warten ..
Mitglied: onegasee59
20.02.2007 um 11:12 Uhr
@chris_qlt

Wenn dein Tool nicht auch für jemanden gedacht ist der Sehprobleme hat oder gar Blind ist verzichte auf die Soundausgabe.
Es ist kein wirklicher Sound, nur eine Akustische Meldung.

Seis drum, wenn du unbedingt Fehler-Ton willst lade Dir die "csound.zip" von meiner Webseite.
http://www.der-wmp.de/extra/csound.zip
Entpacke diese ins gleiche Verzeichniss in der Deine Batch liegt. Du benötigst nur die "csound.com, die "csound.txt" kannst Du wieder löschen.

der code sehe dann so aus: (mal bei bastla "geklaut" und ergänzt)
01.
@echo off && setlocal 
02.
color 0A 
03.
set source1=C:\savegame 
04.
set source2=C:\Mail 
05.
set source3=C:\ZBoot 
06.
set dest1=Quellordner1 
07.
set dest2=Quellordner2 
08.
set dest3=Quellordner3 
09.
set drive=E:\Backup\PC 
10.
set dateNtime=%date:~0,2%-%date:~3,2%-%date:~6,6%_%time:~0,2%-%time:~3,2% 
11.
set backupcmd=xcopy /s /c /d /e /h /i /r /k /q /y 
12.
::Anmerkung: ich schreibe hier immer "kreisch" lässt sich leichter merken ;-) 
13.
::ergebe dann --> set backupcmd=xcopy k /r /e /i /s /c /h /d /q /y 
14.
:choose 
15.
cls 
16.
echo. 
17.
echo BACKUP 
18.
echo. 
19.
echo. 
20.
set /p choice=Backup ? Waehlen Sie (J)a oder (N)ein danach mit Enter bestaetigen:__  (__ steht für Leerzeichen, für bessere Optik)   
21.
echo. 
22.
if /i "%choice%"=="j" goto run 
23.
if /i "%choice%"=="n" goto cancel 
24.
set choice=_         ---->  (das "_" MUSS da hin, sonst funktioniert es nicht richtig) 
25.
goto choose 
26.
:run 
27.
cls 
28.
echo. 
29.
echo. 
30.
echo Bitte Warten!  -  Backup nach: %drive%\%dateNtime% in Arbeit 
31.
%backupcmd% %source1% "%drive%\%dateNtime%\%dest1%" > nul 
32.
%backupcmd% %source2% "%drive%\%dateNtime%\%dest2%" > nul 
33.
%backupcmd% %source3% "%drive%\%dateNtime%\%dest3%" > nul 
34.
echo. 
35.
echo. 
36.
echo Backup nach %Drive%\%dateNtime% erfolgreich abgeschlossen ! 
37.
echo. 
38.
echo. 
39.
goto end 
40.
:cancel 
41.
echo. 
42.
echo. 
43.
rem Tonausgabe für "Backup wurde NICHT ausgefuehrt !" 
44.
csound 220(2) 294(4) 
45.
echo Backup wurde NICHT ausgefuehrt ! 
46.
echo. 
47.
echo. 
48.
:end 
49.
endlocal 
50.
@pause
gruß
onegasee59
Bitte warten ..
Mitglied: 19958
21.02.2007 um 10:44 Uhr
Hallo,

zunächst wieder vielen Dank für die Unterstützung!
Ich habe gestern Abend die Batch zum laufen gebracht und sie entsprechend angepasst..
Läuft soweit alles prima

onegasee59 hatte beim xcopy den quiet parameter gesetzt, den habe ich wieder
entfernt (Der User soll sehen dass da was läuft

Nun dache ich beim testen der Batch es wäre doch toll wenn am Ende mir ein Statusreport ausgegeben würde.
In der Form " es wurden %Anzahl% Dateien übertragen, dies entspricht %Datenmenge% KBytes..
Dies habe ich nun in die Batch versucht einzubauen.. leider funktioniert es noch nicht!?
Würdet Ihr es euch mal ansehen und mir sagen wo (mein?/der ) Fehler liegt?
Das für mich schwierige ist dass der Report alles zusammenrechnen soll, also an allen Zielornern zusammengenommen.. ich denke ich habe da einen Denkfehler mit der Differenzierung.. schaut euch doch bitte mal die Batch an:

01.
@echo off 
02.
color 0A 
03.
set source1=C:\Tempo 
04.
set source2=C:\Mail 
05.
set source3=C:\ZBoot 
06.
set dest1=Quellordner1 
07.
set dest2=Quellordner2 
08.
set dest3=Quellordner3 
09.
set drive=Y:\Backup\Amilo 
10.
set filter=*.* 
11.
set /A kbytes=bytes/1024 
12.
set /A DateiAnzahl=0 
13.
set bytes=0 
14.
set dateNtime=%date:~0,2%-%date:~3,2%-%date:~6,6%_%time:~0,2%-%time:~3,2% 
15.
set backupcmd=xcopy /s /c /d /e /h /i /r /k /y 
16.
:choose 
17.
echo -------------------------------------------------------------------------- 
18.
echo BACKUPPROGRAMM 
19.
echo -------------------------------------------------------------------------- 
20.
echo. 
21.
set /p choice=Backup ? Waehlen Sie (J)a oder (N)ein, danach mit Enter bestaetigen :  
22.
if /i "%choice%"=="j" goto run 
23.
if /i "%choice%"=="n" goto cancel 
24.
set choice=_  
25.
goto error 
26.
:run 
27.
cls 
28.
echo -------------------------------------------------------------------------- 
29.
echo BACKUPPROGRAMM 
30.
echo -------------------------------------------------------------------------- 
31.
echo. 
32.
echo Bitte Warten! Backup nach %drive%\%dateNtime% in Bearbeitung 
33.
echo. 
34.
%backupcmd% %source1% "%drive%\%dateNtime%\%dest1%" 
35.
%backupcmd% %source2% "%drive%\%dateNtime%\%dest2%" 
36.
%backupcmd% %source3% "%drive%\%dateNtime%\%dest3%" 
37.
for /R %drive%\%dateNtime%\%dest3% %%f in (%Filter%) do ( 
38.
    set /A DateiAnzahl += 1 
39.
    echo %%f - %%~zfBytes 
40.
    set /A bytes=bytes+%%~zf 
41.
42.
echo %~dp0%Filter% 
43.
echo Gesamte Anzahl der kopierten Dateien : %DateiAnzahl% 
44.
echo Datenmenge aller kopierten Dateien   : %bytes% Bytes 
45.
echo Datenmenge entsprechend umgerechnet  : %kbytes% KBytes 
46.
echo. 
47.
echo. 
48.
goto complete 
49.
:complete 
50.
::CSOUND 523 0(17) 523 0(17)3136 2093 4186(4) 
51.
echo -------------------------------------------------------------------------- 
52.
echo. 
53.
echo Backup nach %Drive%\%dateNtime% erfolgreich abgeschlossen 
54.
echo. 
55.
goto end 
56.
:cancel 
57.
cls 
58.
echo -------------------------------------------------------------------------- 
59.
echo BACKUPPROGRAMM 
60.
echo -------------------------------------------------------------------------- 
61.
echo. 
62.
echo Backup wird NICHT durchgefuehrt 
63.
echo. 
64.
goto end 
65.
:error 
66.
cls 
67.
::CSOUND 220(2) 294(4) 
68.
echo -------------------------------------------------------------------------- 
69.
echo BACKUPPROGRAMM 
70.
echo -------------------------------------------------------------------------- 
71.
echo. 
72.
echo Fehleingabe ! 
73.
echo. 
74.
echo Neuer Versuch ? Bitte beliebige Taste druecken 
75.
pause > NUL 
76.
cls 
77.
goto choose 
78.
:end 
79.
echo. 
80.
echo Zum Beenden des Programmes bitte eine beliebige Taste druecken 
81.
pause > NUL
Vielen Dank schon mal, ich bin echt froh dass es diese Seite gibt
Bitte warten ..
Mitglied: Biber
21.02.2007 um 11:33 Uhr
Moin chris_qlt,

der Fehler liegt in diesem kleinen Block, der für den CMD-Interpreter ja nur eine einzige Anweisung darstellt:
01.
for /R %drive%\%dateNtime%\%dest3% %%f in (%Filter%) do ( 
02.
set /A DateiAnzahl += 1 
03.
echo %%f - %%~zfBytes 
04.
set /A bytes=bytes+%%~zf 
05.
)
Auch wenn es optisch anders wirkt - es ist nur EINE Anweisung.
Deshalb werden die Variablen, z.B. %bytes% auch nur EINMAL aufgelöst.
Und wenn dann %bytes% vor Beginn der Anweisung den Wert 0 hat,
dann wird auch nach 40x Setzen von "set /A bytes=bytes+%%~zf" immer wieder übersetzt: "set /A bytes=0+%%~zf".

Abhilfe
a) Arbeiten mit Setlocal EnableDelayedExpansion
01.
@echo off & Setlocal <b>EnableDelayedExpansion</b> 
02.
..... 
03.
for /R %drive%\%dateNtime%\%dest3% %%f in (%Filter%) do ( 
04.
set /A DateiAnzahl += 1 
05.
echo %%f - %%~zfBytes 
06.
set /A bytes+=%%~zf 
07.
)
b) ohne DelayedExpansion...wäre ein weiterer Call-block nötig
01.
@echo off & setlocal 
02.
.... 
03.
for /R %drive%\%dateNtime%\%dest3% %%f in (%Filter%) do call :AddBytesEtc "%%~f" - %%zf 
04.
goto .... 
05.
 
06.
:AddBytesEtc 
07.
set /A DateiAnzahl += 1 
08.
echo %~1 - %2 Bytes 
09.
set /A bytes=bytes+%z1 
10.
goto :eof
Gruss Biber
Bitte warten ..
Mitglied: maneich
21.02.2007 um 11:53 Uhr
Hallo,

hier nochmal grundsätzliches zur Choice-Option:

Die Errorabfragen werden immer mit größer/gleich (>=) abgehandelt und das bedeutet, daß die Errorlevelabfragen dann auch immer vom oben nach unten durchgeführt werden müßen.

In Deinem Fall also

1. if errorlevel 2 goto xy2
2. if errorlevel 1 goto xy1

Die zweite Abfrage nach Errorlevel 1 wird nicht benötigt. Wenn bei choice /c 12 der Errorlevel nicht größer/gleich 2 ist, bleibt nur noch die 1 und alles was bei Errorlevel 1 abgearbeitet werden soll, kann direkt und die erste Abfrage gesetzt werden.

Mit freundlichen Grüßen maneich
Bitte warten ..
Mitglied: maneich
21.02.2007 um 11:53 Uhr
-
Bitte warten ..
Mitglied: maneich
21.02.2007 um 11:54 Uhr
-
Bitte warten ..
Mitglied: maneich
21.02.2007 um 11:55 Uhr
-
Bitte warten ..
Mitglied: maneich
21.02.2007 um 11:55 Uhr
-
Bitte warten ..
Mitglied: maneich
21.02.2007 um 11:56 Uhr
-
Bitte warten ..
Mitglied: onegasee59
21.02.2007 um 11:59 Uhr
Hallo Chris_qlt,

das musst Du auch noch ändern sonst funktioniert "set choice=_ " nicht korrekt:
:choose
...
set /p choice=Backup ? Waehlen Sie (J)a oder (N)ein, danach mit Enter bestaetigen :
if /i "%choice%"=="j" goto run
if /i "%choice%"=="n" goto cancel
goto error
...
:error
...
echo Fehleingabe !
echo.
echo Neuer Versuch ? Bitte beliebige Taste druecken
pause > NUL
set choice=_
cls
goto choose

onegasee59

PS:
Kann jemand mal die Mehrfachpostings von "maneich" löschen?!
@maneich Bitte Geduld - nicht mehrfach klicken - es dauert manchmal etwas länger
Bitte warten ..
Mitglied: 19958
22.02.2007 um 13:00 Uhr
Hallo zusammen,

vielen Dank für euere Unterstützung! Mein Programm funktioniert nun
Sollte es jemand benötigen, hier der fertige Code...

01.
@echo off 
02.
color 0A 
03.
set source1=C:\Tempo 
04.
set source2=C:\Mail 
05.
set source3=C:\ZBoot 
06.
set dest1=Quellordner1 
07.
set dest2=Quellordner2 
08.
set dest3=Quellordner3 
09.
set drive=Y:\Backup\Amilo 
10.
set filter=*.* 
11.
set /A DateiAnzahl=0 
12.
set dateNtime=%date:~0,2%-%date:~3,2%-%date:~6,6%_%time:~0,2%-%time:~3,2% 
13.
set backupcmd=xcopy /s /c /d /e /h /i /r /k /y 
14.
:choose 
15.
echo ************************************************************************** 
16.
echo BACKUPPROGRAMM 
17.
echo ************************************************************************** 
18.
echo. 
19.
set /p choice=Backup ? Waehlen Sie (J)a oder (N)ein, danach mit Enter bestaetigen :  
20.
if /i "%choice%"=="j" goto run 
21.
if /i "%choice%"=="n" goto cancel 
22.
set choice=_  
23.
goto error 
24.
:run 
25.
cls 
26.
echo ************************************************************************** 
27.
echo BACKUPPROGRAMM 
28.
echo ************************************************************************** 
29.
echo. 
30.
echo Bitte Warten! Backup nach %drive%\%dateNtime% in Arbeit... 
31.
echo. 
32.
CSOUND 523 0(17) 523 0(17) 523 0(17) 
33.
%backupcmd% %source1% "%drive%\%dateNtime%\%dest1%" > NUL 
34.
%backupcmd% %source2% "%drive%\%dateNtime%\%dest2%" > NUL 
35.
%backupcmd% %source3% "%drive%\%dateNtime%\%dest3%" > NUL 
36.
echo. 
37.
for /R %drive%\%dateNtime% %%f in (%Filter%) do ( 
38.
set /A DateiAnzahl += 1 
39.
set /A bytes+=%%~zf 
40.
set /A kbytes=bytes/1024 
41.
set /A mbytes=kbytes/1024 
42.
43.
echo Kopierte Dateien (Anzahl)        : %DateiAnzahl% 
44.
echo Kopierte Datenmenge in Bytes     : %bytes% 
45.
echo Kopierte Datenmenge in Kilobytes : %kbytes% 
46.
echo Kopierte Datenmenge in Megabytes : %mbytes% 
47.
echo. 
48.
echo. 
49.
goto complete 
50.
:complete 
51.
CSOUND 1046,2093,1318,2637,1568,3136,2093,4186(4) 
52.
echo ************************************************************************** 
53.
echo. 
54.
echo Backup nach %Drive%\%dateNtime% erfolgreich abgeschlossen 
55.
echo. 
56.
goto end 
57.
:cancel 
58.
cls 
59.
echo ************************************************************************** 
60.
echo BACKUPPROGRAMM 
61.
echo ************************************************************************** 
62.
echo. 
63.
echo Backup wird NICHT durchgefuehrt 
64.
echo. 
65.
goto end 
66.
:error 
67.
cls 
68.
csound 220(2) 294(4) 
69.
echo ************************************************************************** 
70.
echo BACKUPPROGRAMM 
71.
echo ************************************************************************** 
72.
echo. 
73.
echo Fehleingabe ! 
74.
echo. 
75.
pause  
76.
cls 
77.
goto choose 
78.
:end 
79.
echo. 
80.
pause 
Danke an alle!
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Per Batch Winrar entpacken - Probleme bei Pfad (7)

Frage von Concurve zum Thema Batch & Shell ...

Batch & Shell
gelöst Probleme bei der Funktionsweise einer im Hintergrund laufenden Batch (5)

Frage von duderu zum Thema Batch & Shell ...

Batch & Shell
Batch-Probleme bei Verschlüsselung

Frage von Jonas1806 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...