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
Kommentar vom Moderator Biber am 04.02.2010 um 17:53:52 Uhr
Beitrag wurde seinerzeit von einer Frage zu einer Anleitung umgestuft (siehe unten).
Deshalb habe ich heute den ursprünglichen nicht mehr passenden Titel "Problem mit batch datei für dateisicherung " auch geändert.

Beispiellösung Batchdatei Dateisicherung für alle lokalen Userverzeichnisse

Anleitung Entwicklung Batch & Shell

Mitglied: scriptkiddy

scriptkiddy (Level 1) - Jetzt verbinden

15.04.2006, aktualisiert 04.02.2010, 23999 Aufrufe, 27 Kommentare

Hallo Leute ich brauche echt mal dringend eure Hilfe ich bin am Verzweifeln....
Also ich möchte gerne per batch datei die ich dann bei Windows als script beim herunterfahren ausführen lasse die Eigenen Dateien auf eine externe Festplatte sichern dazu habe ich mir folgendes script gebastelt.
01.
@ECHO off 
02.
echo   ############################################################## 
03.
echo   #                                               Testversion  # 
04.
echo   #  Sicherungsscript fuer Eigene Dateien                      # 
05.
echo   #  ALPHA VERSION                                             # 
06.
echo   #                                                            # 
07.
echo   #                                                            # 
08.
echo   #  Dieses Script wurde erstellt von Patrick                  # 
09.
echo   #                                                            # 
10.
echo   #     erstellt April 06                                      # 
11.
echo   ############################################################## 
12.
echo. 
13.
FOR /F "tokens=1,2 delims=/: " %%a in ('time/T') do set CTIME=%%a-%%b 
14.
ECHO. 
15.
ECHO Die Dateiensicherung von User Patrick wird gestartet.... 
16.
ECHO. 
17.
(date /t & time /t time) >> F:\Backup\backuplog.txt 
18.
xcopy "C:\Dokumente und Einstellungen\Patrick\Eigene Dateien\*.*" "F:\Backup\Patrick\%date%_%CTIME%" /S /D /Y /Q >> F:\Backup\backuplog.txt 
19.
ECHO. 
20.
ECHO Datensicherung wird barbeitet... 
21.
ECHO. 
22.
ECHO Die Dateiensicherung ist abgeschlossen... 
23.
ECHO. 
24.
FOR /F "tokens=1,2 delims=/: " %%a in ('time/T') do set CTIME=%%a-%%b 
25.
ECHO. 
26.
ECHO Die Dateiensicherung von User Juergen wird gestartet.... 
27.
ECHO. 
28.
(date /t & time /t time) >> F:\Backup\backuplog.txt 
29.
xcopy "C:\Domumente und Einstellungen\Jürgen\Eigene Dateien\*.*" "F:\Backup\Patrick\%date%_%CTIME%" /S /D /Y /Q >> F:\Backup\backuplog.txt 
30.
ECHO. 
31.
ECHO Datensicherung wird barbeitet... 
32.
ECHO. 
33.
ECHO Die Dateiensicherung ist abgeschlossen... 
34.
ECHO. 
35.
ECHO Windows wird jetzt heruntergefahren.... 
Naja ich denke das ist so ja alles schön und gut nur hab ich jetzt das Problem das bei der Sicherung Die Meldung kommt das die datei *.* nicht gefunden wurde.... allerdings nur bei User Jürgen
User Patrick wird richtig gesichert und der passende eintrag in der log datei wird auch angelegt nur eben bei User Jürgen macht die Kiste mucken Leute ich bracuh echt eure Hilfe....
27 Kommentare
Mitglied: Biber
15.04.2006 um 23:43 Uhr
Moin scriptkiddy,

drei Ursachen sind als Fehler wahrscheinlich:
- der User, der den Batch startet, hat keine Rechte auf die Dateien in Jürgens Unterverzeichnissen (Wahrscheinlichkeit 2%)

- der Batchjob bzw. die CMD-Shell benutzt einen anderen Zeichensatz als Windows und das, was im Explorer als "Jürgen" angezeigt wird, wird beim DIR-Befehl am CMD-Prompt als "J}rgen" oder so angezeigt (Wahrscheinlichkeit 6%)

- oder Du hast einen Tippfehler drin und es heißt beim Jürgen:
RICHTIG: xcopy "C:\Dokumente und Einstellungen.....
BISHER: xcopy "C:\Domumente und Einstellungen...
(Wahrscheinlichkeit 92%)

Gruß und Frohe Ostern
Biber
Bitte warten ..
Mitglied: scriptkiddy
16.04.2006 um 10:25 Uhr
Hi Biber danke für die schnelle anwort ....
Also Mal zu deinen möglichen Ursachen...

Zu Ursache 1:
Ich teste die Batch auf dem Computeradministratoraccount
Also denke diese Ursache scheidet aus...

Zu Ursache 2:
Hm möglich... Nur wie kann ich das überprüfen ?

Zu Ursache 3:
Schreibfehler sind zu 100% ausgeschlossen...
habe die Befehlszeile von User Patrick kopiert und danach nur noch den User Jürgen eingefügt. Ich könnte mir natürlich vorstellen das das mit dem ü zusammenhängt gibt es den keinen Befehl mitdem ich dieser Kiste sagen kann das er das ü irgendwie ignoriern sollte oder was weiß ich....
Es kommt ja die Meldung Datei *.* wurde nicht gefunden....
Weshalb hab ich auch keine Ahnung der *.* Befehl heißt ja nur das es das gesammte Verzeichnis kopieren soll....

Naja also ich bin echt am verzweifeln ich weiß beim besten willen nicht wieso das nich geht

Gruß Scriptkiddy
Bitte warten ..
Mitglied: scriptkiddy
16.04.2006 um 10:55 Uhr
OK Leute ich würde sagen ich hab das Problem gefunden.....
Habe neuen Benutzer mit dem Namen Juergen angelegt..
Es liegt tatsächlich am ü im Benutzernamen Jürgen Jetzt natürlich meine Frage gibts da nich einen Befehl der es mir erlaubt trotz ü zu sichern währe scheiße wenn nicht ich kann nicht einfach den Nutzer Jürgen löschen und ihm den Nutzernamen Juergen geben währe wahnsinniger aufwand die dateien der ganzen Programme (CAD) zu sichern ich würde mir das gern ersparen
Bitte warten ..
Mitglied: n.o.b.o.d.y
16.04.2006 um 12:16 Uhr
Hallo,

Es liegt tatsächlich am ü im
Benutzernamen Jürgen Jetzt
natürlich meine Frage gibts da nich
einen Befehl der es mir erlaubt trotz
ü zu sichern währe

Wie ist es denn wenn Du auf der Comandozeile einfach mal nach Dokument und Einstellungen wechselst und die mir einem DIR anschaust wie Windows unter DOS den "Jürgen" darstellt. Oder Du nutzt im Script auch an der Stelle Wildcarts, so nach dem Motto cd j*. Setzt aber natürlich voraus, dass Jürgen der einzige User mit "J" am Anfang ist....

Ralf
Bitte warten ..
Mitglied: Biber
16.04.2006 um 14:24 Uhr
Moin,

um festzustellen, ob unter dem CMD-Interpreter die gleichen Zeichensätze verwendet werden
- CMD-Fenster öffnen
- mit Befehl "CHCP" feststellen, welche Codepage verwendet wird. (wird "850" anzeigen vermutlich"
- vom CMD-Prompt aus mal ein
Dir "C:\Dokumente und Einstellungen\J*" machen und schauen, wie "Jürgen" angezeigt wird.

Wenn das "ü" NICHT richtig dargestellt wird:
a) entweder mal probieren, ob ein "CHCP 1252" das Problem behebt.
Wenn ja, dieses CHCP 1252 in den Batch einbauen.
b) oder, wie Ralf skizziert hat, mit Wildcards dieses Verzeichnis ansprechen.
c) oder das Wie-Auch-immer-geschriebenen-J?rgen per
Dir /A:d "C:\Dokumente und Einstellungen\J*" im Batch abfragen und mit der Rückgabe arbeiten. (Aber so weit wird es nicht kommen -a) wird einfacher sein.

Sonst bitte nochmal posten - die zwei Zeilen bekomm ich noch zusammen nach dem Frühstück.

Gruß Biber
Bitte warten ..
Mitglied: scriptkiddy
16.04.2006 um 15:52 Uhr
Hey Biber du bist echt super also mit der codepage 1252 funktioniert das einwandfrei...

Echt klasse

Jetzt hab ich noch eine kleinere Frage:

Kann ich das Echo mit der geänderten Codepage unsichtbar machen ?

Wenn ich diese Frage noch beantwortet bekommen habe bin ich Wunschlos glücklich

Grüße
Scriptkiddy
Bitte warten ..
Mitglied: maneich
16.04.2006 um 17:59 Uhr
Hallo,

einfach am zeilenende ">nul" ohne Hochkomma schreiben, damit wird das prompt ausgespart; also

"CHCP 1252">nul

MfG maneich
Bitte warten ..
Mitglied: Biber
16.04.2006 um 18:26 Uhr
Das nenne ich eine gelungene Gemeinschaftsaktion..

Ich setze den Beitrag auf "Gelöst" und wünsche Euch allen noch Frohe Ostern mit genauso wenig Herumgeeiere wie hier bei der Lösungsfindung...

Danke an Alle
Biber
Bitte warten ..
Mitglied: scriptkiddy
18.04.2006 um 13:34 Uhr
Da ich total zufrieden mit meinem hübschen script bin und ich von Robert eine Mail bekommen habe ich solle es doch posten tu ich das hier einfach mal

@ECHO off
echo
echo # Testversion #
echo # Backupscript #
echo # Version 1.0 #
echo # #
echo # #
echo # Dieses Script wurde erstellt von Patrick #
echo # #
echo # erstellt April 06 #
echo
echo.
(date /t & time /t time) >> F:\Backup\Eigene_Dateien\Backuplog.txt
FOR /F "tokens=1,2 delims=/: " %%a in ('time/T') do set CTIME=%%a-%%b
ECHO.
ECHO Die Datensicherung von User Patrick wird gestartet....
ECHO.
ECHO Datensicherung von User Patrick wird barbeitet...
ECHO.
xcopy "C:\Dokumente und Einstellungen\Patrick\Eigene Dateien\*.*" F:\Backup\Eigene_Dateien\Patrick\ /S /D /Y >> F:\Backup\Eigene_Dateien\backuplog.txt
ECHO.
ECHO Die Dateiensicherung von User Patrick ist abgeschlossen...
ECHO.
FOR /F "tokens=1,2 delims=/: " %%a in ('time/T') do set CTIME=%%a-%%b
ECHO.
ECHO Die Dateiensicherung von User Juergen wird gestartet....
ECHO.
ECHO Datensicherung von User Juergen wird barbeitet...
CHCP 1252>nul
ECHO.
xcopy "C:\Dokumente und Einstellungen\Jürgen\Eigene Dateien\*.*" F:\Backup\Eigene_Dateien\Jürgen\ /S /D /Y >> F:\Backup\Eigene_Dateien\backuplog.txt
ECHO.
CHCP 850>nul
ECHO Die Dateiensicherung ist abgeschlossen...
ECHO.
ECHO Windows wird jetzt heruntergefahren....


Dieses Script habe ich bei Windows XP als atomatisch auszuführendes Script eingespeist und so wird jetzt bei jedem herunterfahren die Eigenen Dateien auf die Externe Festplatte gesichert.
Ihr könnt euch das Script ja gerne auch anpassen einfach kopieren und in eine Textdatei einfügen diese dann mit der endung .bat abspeichern einfach nur noch doppelklick auf die neue datei und schon legt Windows los....
Ich würde euch empfehlen einfach am ende der Datei den befehl
Pause reinzuschreiben so wartet Dos bis ihr eine Taste gedrückt habt befor sich das Fenster wieder schliest, wenn euer Script dann Funktioniert könnt ihr dieses Befehl ja wieder löschen...

PS:Wenn ihr dochnoch Fragen dazu habt schreib mir ne Nachricht ich beantworte sie gerne

Viel Spaß damit

Euer Scriptkiddy
Bitte warten ..
Mitglied: RobertTischler
25.04.2006 um 21:45 Uhr
Hallo

Ich habe heute abend mal dein Script getestet und finde es super. Einfach und verstandlich halbwegs für mich. Ich hab jetzt nur noch ein paar fragen. Wenn ich mehr benutzer habe kann ich einfach den Teil ECHO Die ..... gestartet bis Echo Die ... Abgeschlossen kopieren Pfad anpassen und den Namen denke ich zu mindestens. Wenn ich den Pfad ändere auf ein anderes Verzeichnis dann könnte ich doch auch andere Verzeichnisse sichern. Was für mich wichtig ist werden die Daten nach dem Kopieren vergliechen bzw wenn nicht kann man so eine Funktion nachrüsten währe für mich sehr wichtig. Wenn ich jetzt in meinem Eigene Dateien verzeichnis eine Datei Lösche wird sie dann auch im Backup verzeichnis gelöscht? So das waren erst mal meine ersten Fragen ich denke mal da fallt mir später noch was ein.

MFG

PS: da fäht mir noch was ein kannst du bitte diesen teil näher erklären ich hab leider total keine ahnung vom Programmieren und so würde ich un gefähr verstehen was dort ablauft.

(date /t & time /t time) >> F:\Backup\Eigene_Dateien\Backuplog.txt
FOR /F "tokens=1,2 delims=/: " %%a in ('time/T') do set CTIME=%%a-%%b
Bitte warten ..
Mitglied: scriptkiddy
28.04.2006 um 21:16 Uhr
hm also ich würde sagen du kannst das script endlos weiter verlängern und halt immer den xcopy Pfad ändern. dann dieser teil bei deinem PS: naja diesen Teil habe ich nicht selber zusammengesetzt aber soweit ich weiß sollte der dafür gut sein das das ding weiß dass es das Datum und die Zeit in die Backuplog.txt speichern soll .....aber so völlig sicher bin ich mir bei diesem Teil nicht

Grüße euer Scriptkiddy
Bitte warten ..
Mitglied: Biber
30.04.2006 um 19:22 Uhr
Moin Robert und Scriptkiddie,

wie bereits oben geschrieben - das gemeinsame Entwickeln und Verfeinern einer Lösung hier im Forum finde ich immer etwas Feines- von daher will ich hier auch keine "fertigen" Alternativen posten. Aber noch ein paar Fussnoten zu den letzten Fragen anfügen.

Wenn ich mehr benutzer habe kann ich einfach den Teil
ECHO Die ..... gestartet bis Echo Die ... Abgeschlossen kopieren
Pfad anpassen und den Namen denke ich zu mindestens.

Ja, könntest Du machen. Aber da wir das Backup-Script ja wartbar und pflegbar halten wollen, wäre doch der Ansatz einer (bis auf den Benutzernamen gleichen) Unterroutine einem Copy&Paste mit doppeltem, dreifachen oder zehnfachen Code vorzuziehen.
Beispiel - statt- :
01.
... 
02.
ECHO Die Datensicherung von User Patrick wird gestartet.... 
03.
ECHO. 
04.
ECHO Datensicherung von User Patrick wird barbeitet... 
05.
ECHO. 
06.
xcopy "C:\Dokumente und Einstellungen\Patrick\Eigene Dateien\*.*" F:\Backup\Eigene_Dateien\Patrick\ /S /D /Y >> F:\Backup\Eigene_Dateien\backuplog.txt 
07.
ECHO. 
08.
ECHO Die Dateiensicherung von User Patrick ist abgeschlossen... 
09.
ECHO 
10.
... (nächster User..)
...lieber so:
01.
... 
02.
Set "AlleMeineUser=Patrick Jürgen Hinz Kunz" 
03.
For %%i in ("AlleMeineUser%) do call :MachMirDenBackup %%i 
04.
goto :eof 
05.
 
06.
:MachMirDenBackup Parameter 1 ist Username==Verzeichnisname 
07.
ECHO Die Datensicherung von User %1 wird gestartet.... 
08.
ECHO. 
09.
ECHO Datensicherung von User %1 wird bearbeitet... 
10.
ECHO %date% %time% Beginn Datensicherung von User %1...>> F:\Backup\Eigene_Dateien\backuplog.txt 
11.
xcopy "C:\Dokumente und Einstellungen\%1\Eigene Dateien\*.*" F:\Backup\Eigene_Dateien\%1\ /S /D /Y >> F:\Backup\Eigene_Dateien\backuplog.txt 
12.
ECHO. 
13.
ECHO Die Dateiensicherung von User %1 ist abgeschlossen... 
14.
ECHO %date% %time% Ende Datensicherung von User %1...>> F:\Backup\Eigene_Dateien\backuplog.txt 
15.
ECHO. 
16.
goto :eof
Wenn ich den Pfad ändere auf ein anderes Verzeichnis dann könnte ich doch auch andere Verzeichnisse sichern.
Jepp.
Was für mich wichtig ist werden die Daten nach dem Kopieren vergliechen
Nein.
bzw wenn nicht kann man so eine Funktion nachrüsten währe für mich sehr wichtig.
Hm...ja... aber ob es sich lohnt..
Du kannst (suche mal nach Beispielen dazu im Forum) sowohl mit dem XCopy-Parameter "/V" =Verify arbeiten oder nach dem Kopieren mit "FC.exe" Quell-und Zieldateien vergleichen... okay.
Und wie weiter? Welche sinnvolle Aktion schwebt Dir vor, wenn ein Kopieren einen Fehler bringt? Kann sein, dass Quelldatei in Benutzung ist, dass die Rechte zum Lesen fehlen, dass die Datei tatsächlih defekt ist, dass eine gleichnamige Zieldatei schreibgeschützt ist... was machst Du mit der Info "Kopieren hat nicht geklappt"? Kopieren endlos wiederholen lassen?

Wenn ich jetzt in meinem Eigene Dateien verzeichnis eine Datei Lösche wird sie dann auch im Backup verzeichnis gelöscht?
Nein. Soll auch nicht. Das Scriptchen hier macht eine Sicherung. Verzeichnisse synchronisieren ist eine andere Funktionalität, eine andere Strategie. Kann "Robocopy ../MIR" oder eine Menge Freeware-Utilities. Ist dennoch was anderes als eine Sicherung.

(date /t & time /t time) >> F:\Backup\Eigene_Dateien\Backuplog.txt
Lass einfach die Umleitungen weg, dann siehst Du, was hier passiert.
Datum und Zeit werden jeweils als Einzelzeilen in die Logdatei geschrieben.
Alternative wäre:
Echo %date% %time% Beginn der Sicherung >> F:\Backup\Eigene_Dateien\Backuplog.txt
...und was hier abgeht...
FOR /F "tokens=1,2 delims=/: " %%a in ('time/T') do set CTIME=%%a-%%b
Hier wird die Zeit, z.B. "19:22:45,35" zerlegt in Tokens(="Worte"), die getrennt sind durch ":" und "/". Raus kommt dann in der Variablen CTIME der String "19-22".
Verwendet wird der im Script nicht, aber so ließen sich datums-/zeitspezifische Verzeichnisnamen für Sicherungen basteln.

Grüße
Biber
Bitte warten ..
Mitglied: RobertTischler
30.04.2006 um 19:54 Uhr
Hallo

Danke Biber. Das sindzum Teil die Infos die ich noch brauche um zu verstehen was es macht und damit ich verstehe wenn ich was ändere. Was mir auch nicht so gut gefählt ist die gewählte Verzeichnisstruktur aber dasbekomme ich auch selber hin. Ok dasmit dem vergleichen der Datein ist glaube keine so gute Idee von mir mit der xcopy Option /V würde esgehen aber wo sehe ich das es nicht richtig kopiert wurde und mit Fc ist glaube das vergleichen der Verzeichnisse auch nicht so optimal da sich da Zielverzeichnis anders ändert als das Quellverzeichnis wo auch Daten gelöscht werden und im Zielverzeichnis wird ja nur hinzugefügt.

MFG
Bitte warten ..
Mitglied: scriptkiddy
30.04.2006 um 20:31 Uhr
Hallo nochmal zusammen also ich finde deine Vorschläge wieder mal super Biber

Ich bin eh gerade noch dran mein script mithilfe von errorleveln und if befeheln zu verbessern wenn dass dann alles läuft poste ich das hier nochmal ...

Grüße Scriptkiddy
Bitte warten ..
Mitglied: RobertTischler
30.04.2006 um 22:13 Uhr
Hallo

Das ware net ich komme mit den Änderungen nicht ganz klar aber ich probier es weiter.

MFG
Bitte warten ..
Mitglied: scriptkiddy
01.05.2006 um 12:15 Uhr
Hallo Biber hm also deine Änderung währe ja schön nur bei mir nimmt das dein script nicht an und ich kann dem auch nicht ganz folgen könntest du mir vielleicht mal dein teilscript einbauen und dann posten zusammen mit meinen Änderungen währe das dann wohl das "perfekte Sicherungsbatch"


Grüße Scriptkiddy
Bitte warten ..
Mitglied: Biber
03.05.2006 um 20:23 Uhr
Sorry für die lange Pause, scriptkiddy,

hatte es fast vergessen...
01.
::---------snipp MyFirstBackup.bat 
02.
@ECHO off & setlocal 
03.
Set "Log=F:\Backup\Eigene_Dateien\backuplog.txt" 
04.
::--------die nächsten beiden Zeilen nur zum Test --dann auskommentieren 
05.
Set "DEBUG=Echo simuliere: "  
06.
Set "log=CON" 
07.
::-------------end of Debug section 
08.
echo ############################################################## 
09.
echo # Testversion # 
10.
echo # Backupscript # 
11.
echo # Version 1.0 # 
12.
echo # # 
13.
echo # # 
14.
echo # Dieses Script wurde erstellt von Patrick # 
15.
echo # # 
16.
echo # erstellt April 06 # 
17.
echo ############################################################## 
18.
echo. 
19.
CHCP 1252>nul 
20.
Set "AlleMeineUser=Patrick Jürgen Hinz Kunz" 
21.
For %%i in (%AlleMeineUser%) do call :MachMirDenBackup %%i 
22.
CHCP 850>nul 
23.
ECHO Die Dateiensicherung ist abgeschlossen... 
24.
ECHO. 
25.
ECHO Windows wird jetzt heruntergefahren.... 
26.
goto :eof 
27.
~~~~~~~~~Raum für Notizen~~~~~~~~~ 
28.
 
29.
~~~~~~~ 
30.
:MachMirDenBackup Parameter 1 ist Username==Verzeichnisname 
31.
ECHO Die Datensicherung von User %1 wird gestartet.... 
32.
ECHO. 
33.
ECHO Datensicherung von User %1 wird bearbeitet... 
34.
ECHO %date% %time% Beginn Datensicherung von User %1...>>%log% 
35.
%DEBUG% xcopy "C:\Dokumente und Einstellungen\%1\Eigene Dateien\*.*" F:\Backup\Eigene_Dateien\%1\ /S /D /Y >>%log% 
36.
ECHO. 
37.
ECHO Die Dateiensicherung von User %1 ist abgeschlossen... 
38.
ECHO %date% %time% Ende Datensicherung von User %1...>>%log% 
39.
ECHO. 
40.
goto :eof 
41.
::---------snapp MyFirstBackup.bat
Hier: For %%i in ("AlleMeineUser%)... hatte ich meinen obligatorischen Tippfehler.
Das Anführungszeichen vorn sollte auch ein Prozentzeichen werden.

Gruß
Biber
Bitte warten ..
Mitglied: scriptkiddy
03.05.2006 um 20:47 Uhr
Hi Biber ,

Kein Problem ich bin eh noch am basteln

Ich hab jetzt dein Scriptteil eingebaut...

Jetzt hab ich noch kleines Problem es sichert die dateien von den Usern die man ja
bei Set "AlleMeineUser=user user user "
Angegeben hat nur wenn jetzt die user beendet sind bringt der immer noch eine fehlermeldung das der User *.* nicht existiert (is ja klar die User die existieren sind ja fertig abgearbeitet) nur wie kann ich das jetzt unterdrücken das muss ja nich sein .....


Grüße und Danke für die Hilfe

Scriptkiddy
Bitte warten ..
Mitglied: Biber
03.05.2006 um 21:46 Uhr
Gut,
das sollte ja nur die ungefähre Skizze sein..
An ein paar Stellen würde ich natürlich bei einem "produktiven" Batch schon noch nachbessern, insbesondere:
- gibt es die Quellverzeichnisse
- gibt es das Verzeichnis für die Logdatei und darf ich da schreiben
- bekomme ich noch irgendwelchen Befehlszeilen einen Fehler/Errorlevel zurück
- und wie gehe ich damit um (ganz abbrechen oder mit nächstem Benutzer weiter?)

Wenn Du Fehlermeldungen "...existiert nicht../ ..nicht gefunden.." vermeiden willst, dann vorher prüfen mit "if exist [Verzeichnis/Datei]"
Also im dem "MachMirDenBackup"-Block als neue erste Zeile:
if not exist "C:\Dokumente und Einstellungen\%1\Eigene Dateien\*.*" goto :eof

Siehe in der Hilfe bei "IF /?" am CMD-Prompt.

Gruß
Biber
P.S. Was bastelst Du denn da so lange?
Bitte warten ..
Mitglied: scriptkiddy
03.05.2006 um 21:47 Uhr
So hier mal der Anfang meines Scripts ich brauche mal eure Hilfe:

@ECHO off

title Backupscript

Set "Log=F:\Backup\Eigene_Dateien\backuplog.txt"

ECHO.
ECHO
ECHO # Willkommen im Sicherungsprogramm #
ECHO #---------------------------------- #
ECHO #erstellt von Patrick Huegel #
ECHO
ECHO.

:input
SET /p input=Bitte Befehl eingeben:

IF /i "%input%"=="exit" EXIT
IF /i "%input%"=="" goto :help
IF /i "%input%"=="start" goto :start
IF /i "%input%"=="help" goto :help


:start
Set "Userlist=Patrick Juergen"
For %%i in (%Userlist%) do call :Backup %%i
ECHO Die Dateiensicherung ist abgeschlossen...
ECHO.
ECHO Windows wird jetzt heruntergefahren...


:Backup
CHCP 1252>NUL
ECHO Die Datensicherung von User %1 wird gestartet....
ECHO.
ECHO Datensicherung von User %1 wird bearbeitet...
ECHO %date% %time% Beginn Datensicherung von User %1...>>%log%
%DEBUG% xcopy "C:\Dokumente und Einstellungen\%1\Eigene Dateien\*.*" F:\Backup\Eigene_Dateien\%1\ /S /D /Y >>%log%
ECHO.
ECHO Die Dateiensicherung von User %1 ist abgeschlossen...
ECHO %date% %time% Ende Datensicherung von User %1...>>%log%
CHCP 850>NUL
ECHO.



:help
ECHO.
ECHO.
ECHO Folgende Parameter sind vertreten:
ECHO.
ECHO Befehl: Wirkung:
ECHO.
ECHO start Startet die Sicherung
ECHO exit beendet das Programm
ECHO help ruft die Hilfe auf
ECHO.
ECHO.
GOTO :input

Jetzt hab ich hier das Problem das er mir jetzt plötzlich nur noch den User Patrick bearbeitet den User Juergen lässt der aus....


Helft mir

PS:Ich habe das Thema nochmal geöffnet....


Grüße Scriptkiddy
Bitte warten ..
Mitglied: Biber
03.05.2006 um 21:55 Uhr
Die "goto :eof" nach den einzelnen Batch-"Teilen" fehlen.

Einmal "goto :eof" oder "goto :input" als neue letzte Zeile des Blocks ":start"
Einmal "goto :eof" als neue letzte Zeile des Blocks ":backup"
Bitte warten ..
Mitglied: scriptkiddy
04.05.2006 um 08:23 Uhr
Hallo Biber,

Danke für deine schnelle Antwort,
Ich werde das gleich in mein Script einbauen.
Wenn ich nochmal fragen habe werde ich das in diesem Post wieder reinposten,
Ich werde mich dafür um so schneller an das script machen damit ihr alle was davon habt

Folgende Probleme:

Bei User Jürgen meldung bringt *.* Datei nicht gefunden.....
Und das Jürgen schreibt das J|rgen statt Jürgen trotz Codepage 1252
Außerdem möchte ich das es nach der Sicherung von den Usern zurück zu :input springt damit man nicht extra das fenster nochmal aufmachen muss....


Grüße

Scriptkiddy
Bitte warten ..
Mitglied: n.o.b.o.d.y
05.05.2006 um 08:38 Uhr
Moin!

Macht ihr daraus nachher ein kleines TuT?? Damit das nicht in den Analen des MySQL-DB verschwindet! Wäre doch schade um die harte Arbeit..

Grüße und allen ein sonniges Wochenende!

Ralf
Bitte warten ..
Mitglied: Biber
05.05.2006 um 09:10 Uhr
Moin scriptkiddy,

Bei User Jürgen meldung bringt *.* Datei nicht gefunden.....
Und das Jürgen schreibt das J|rgen statt Jürgen trotz Codepage 1252
Okay, das lässt sich ja vorher am CMD-Prompt testen, unter welcher Codepage der "Jürgen" als "Jürgen" angezeigt wird. Nutz die Mittagspause..

Außerdem möchte ich das es nach der Sicherung von den Usern zurück zu :input springt
siehe oben... nach dem Block ":start" eine Zeile mit "goto :eof"(==Ende) oder "goto :input".

@Ralf
Macht ihr daraus nachher ein kleines TuT??
Jau, eigentlich habe ich auch mit dem Gedanken geliebäugelt, diesen Beitrag als "Tutorial" hochzustufen, besonders weil auch der Umgang mit und das Lösen von den üblicherweise auftretenden Widrigkeiten des M$-Umfelds gut nachvollziehbar diskutiert wird.
Ich wollte eigentlich damit warten, bis eine "final initial version" vorliegt, mit der auch auch scriptkiddy zufrieden ist.. aber der ist ja wohl so ein Perfektionist..das würde zu lange dauern.
Ich stufe es um als Tutorial in der Gewissheit, dass die "Version 1.00" zeitnah gepostet wird.

Gruße
Biber
Bitte warten ..
Mitglied: RobertTischler
05.05.2006 um 10:19 Uhr
Hallo

Das mit dem Tutorial habe ich scriptkiddy auch schon geraten da man doch auch einge sachen gut erklären kann. Man sollte dann aber zu jeder Code Zeile eine Ungefähre Beschreibung der Funktion angeben. Damit solche Deppen wie ich ungefähr verstehen was genau gemacht wird und es nicht einfach blind abschreiben und dann schreien das geht ja gar nicht, weil sie vielleicht die Laufwerks angaben nicht angepasst haben.

MFG
Bitte warten ..
Mitglied: scriptkiddy
05.05.2006 um 21:29 Uhr
Hallo zusammen ,

Also 1. Ja ich bin nunmal ein perfektionist aber naja......
2. Danke das ihr meinen Beitrag so gut findet das er als Tutorial verwendet wird....
3. Das "script" jetzt ja eher zum Tool verarbeitet.... ist zwar noch nich entgültig fertig
es funktionieren noch nich alle Funktionen aber wenn das erstmal fertig ist dann sollte das für jeden administrator eine erleichterung sein....
Aber da ihr ja schon so ungeduldig seid poste ich meine bisherigen Änderungen.....


@ECHO off

title Admintool

REM ---------------------------------Festlegen der Logdatei---------------------------------------

Set "Log=F:\Backup\logs\backuplog.txt"

ECHO.
ECHO
ECHO # Willkommen im Sicherungsprogramm #
ECHO #---------------------------------- #
ECHO #erstellt von Patrick Huegel #
ECHO
ECHO.
ECHO.

REM --------------------------------------- Ausgeben der Befehlsliste ---------------------------------

GOTO :help

:main
ECHO.
ECHO
ECHO # Hauptmenue #
ECHO
ECHO.

:input
ECHO.

REM --------------------------------------------- Abfrage des Befehls ------------------------------------

SET /p input=Bitte Befehl eingeben:

REM ------------------------------------------- Die Befehlsklassifizierung-----------------------------
REM Also wenn bei der Abfrage (%input%) exit eingegeben wird wird EXIT ausgeführt
REM ganuso bei dem goto befehlen

IF /i "%input%"=="exit" EXIT
IF /i "%input%"=="?" goto :help
IF /i "%input%"=="backup" goto :start
IF /i "%input%"=="help" goto :help
IF /i "%input%"=="ping" goto :pingen


:start

REM ------------------------------Die "Userlist" ---------------------------------
REM Hier werden die zu sichernden User angegeben im Beispiel sind das Patrick und Jürgen

Set "Userlist= Patrick Jürgen"

REM ----------------------- Backupstarten---------------------------------------
REM Hier wird mit den Parameter die in der "Userlist" angegeben sind zum Block :Backup gegangen

For %%i in (%Userlist%) do call :Backup %%i

ECHO.
ECHO Die Dateiensicherung ist abgeschlossen..
ECHO.
goto :input

REM ---------------------------------- Backupblock ----------------------------------------
REM Hier findet der eigendliche Backup vorgang statt....

:Backup
ECHO.
ECHO.

REM --------------------- Codepage auf standart zurücksetzten ---------------------------
REM Hier wird die Codepage auf 850 gesetzt der parameter >NUL bewirkt das die Meldung "Aktive Codepage 850"
REM nicht ausgegeben wird.

CHCP 850>NUL
ECHO Die Datensicherung von User %1 wird gestartet....
ECHO.
ECHO Datensicherung von User %1 wird bearbeitet...

REM --------------------------------- Beginn der Sicherung in LOG schreiben ----------------------------------------
REM hier wird das %date% (Datum) und die %time% (Zeit) der Sicherung in die oben festegelegte LOG geschrieben

ECHO %date% %time% Beginn Datensicherung von User %1...>>%log%

REM -------------------------------- Kopiervorgang -------------------------------------
REM Hier wird der Kopiervorgang gestartet ...... hilfe zum xcopy bekommt man wenn man in der cmd.exe einfach
REM help xcopy eingibt

%DEBUG% xcopy "C:\Dokumente und Einstellungen\%1\Eigene Dateien\*.*" F:\Backup\Eigene_Dateien\%1\ /S /D /Y
ECHO.

REM ----------------------------------- "Fehlerprüfung" ------------------------------
REM Hier wird sollte ein Fehler beim sichern festgestellt werden die ECHO meldung ausgegeben

IF errorlevel ==1 ECHO Sicherung von %1 fehlgeschlagen

ECHO Die Dateiensicherung von User %1 ist abgeschlossen...

REM --------------------------------- Ende in LOG schreiben -----------------------
REM hier wird das Ende der sicherung in die LOG datei geschrieben

ECHO %date% %time% Ende Datensicherung von User %1...>>%log%
ECHO.
goto:eof

REM ------------------------------------------ Hilfemenü----------------------------------
REM die ausgabe die bei eingabe von help ausgegeben wird

:help
ECHO.
ECHO Befehlsliste:
ECHO exit beendet das Programm
ECHO help gibt diese Hilfe aus
ECHO backup Sicherung der eigenen dateien
ECHO ping pingmodul
ECHO.
ECHO.
GOTO :main

REM ---------------------------------- Der Block für das pingen ---------------------------------
REM hier kommt dann das Pingmodul hin momentan bringt er nur die Meldung das dieses Modul noch nicht fertig ist
REM und springt wieder zur Befehlseingabe

:pingen

ECHO.
ECHO Dieses Modul ist leider noch nicht fertig !
GOTO :input
Bitte warten ..
Mitglied: GODOFWAR
17.04.2007 um 10:35 Uhr
sieht echt toll aus ;d mach die anderen 5% noch und es ist perfekt *g*

mach doch noch das 100$% script mit ner kleinen beschreibung evtl kapieren es ned so alle ;D hatte auch 5min überlegt bis alles klar war (oder zumindest 95% ) ;D

aber alles in allem gute arbeit ;D weiter so du "kiddi"
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Userverwaltung
gelöst Lokalen Administrator über das Netzwerk verteilen (7)

Frage von M.Marz zum Thema Windows Userverwaltung ...

Windows Tools
gelöst Auslsen des Namens der lokalen Administratorgruppe per Batch (5)

Frage von ArminWeinmann zum Thema Windows Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...