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

Batchdatei zur Datensicherung auf anderer Partition?

Frage Entwicklung Batch & Shell

Mitglied: IchWeissNicht

IchWeissNicht (Level 1) - Jetzt verbinden

03.10.2008, aktualisiert 19.10.2008, 5476 Aufrufe, 9 Kommentare

Hallo,

ich beschäftige mich seit relativ kurzer Zeit mit dem schreiben von Batchdateien da sie ein nützliches Werkzeug zum organisieren und verwalten eines PCs sind.
Ich habe meine Festplatte in zwei Partitionen, C:\ und D:\, (auch Sicherung genannt) unterteilt. Auf der Partition C:\ befindet sich Windows XP inklusive SP2 und die zweite Partition soll zur Datensicherung des Ordners "Eigene Dateien" dienen. Die Datensicherung des Ordners "Eigene Dateien" möchte ich aber gerne per Batchdatei bei herunterfahren des PCs ausführen lassen und soll folgendermaßen ablaufen:

Auf dem Laufwerk D:\ exestiert ein Ordner Backup in dem Ordner mit dem Namen Eigene Dateien plus dem Zusatz des aktuellen Datums und der aktuellen Uhrzeit erstellt werden sollen. In diesem Ordner sollen dann alle Ordner und Dateien, beim herunterfahren des PCs, des sich auf der Partition C:\ befindenden Userordners "Eigene Dateien" gesichert werden. Wobei 7 Ordner erstellt werden sollen, die die Datensicherung des jeweiligen Tages enthalten.
z. B:

Eigene Dateien aktuelles Datum und Uhrzeit (Ordner 1)
Eigene Dateien aktuelles Datum und Uhrzeit (Ordner 2)
Eigene Dateien aktuelles Datum und Uhrzeit (Ordner 3)
Eigene Dateien aktuelles Datum und Uhrzeit (Ordner 4)
Eigene Dateien aktuelles Datum und Uhrzeit (Ordner 5)
Eigene Dateien aktuelles Datum und Uhrzeit (Ordner 6)
Eigene Dateien aktuelles Datum und Uhrzeit (Ordner 7)

Nach Ablauf der 7 Datensicherung soll der älteste Ordner, in diesem Beispiel Ordner 1 durch den aktuellen Ordner der Datensicherung ersetzt werden. Also so, dass die erste Datensicerung (Ordner 1) durch die achte Datensicherung überschrieben wird.

Könnt ihr mir bitte bei diesem Problem helfen.
Vielen Dank

IchWeissNicht
Mitglied: miniversum
03.10.2008 um 18:12 Uhr
Ungetestet könnte es so funktionieren:
01.
@echo off 
02.
set "quelle=%USERPROFILE%\Eigene Dateien" 
03.
set "ziel=D:\Eigene Dateien %Date:.=% %time::=%" 
04.
 
05.
REM Älteste Sicherung löschen 
06.
FOR /F "skip=6 delims=" %%i in ('dir /B /AD /O-D "%ziel%"') do rd /S /Q "%ziel%\%%i" 
07.
 
08.
REM Kopie durchführen 
09.
copy "%quelle%" "%ziel%"
Bitte warten ..
Mitglied: IchWeissNicht
03.10.2008 um 20:04 Uhr
Vielen Dank für deine Hilfe.
Habe das Script so eben ausprobiert und es funktioniert teilweise so wie ich mir es gedacht habe. Das Problem besteht darin, das unter D:\Backup\ kein Sicherungsordner Eigene Dateien plus dem Zusatz des aktuellen Datums und der aktuellen Uhrzeit, der dann die gesicherten Dateien enthält, erstellt wird sondern eine gleichnamige undefinierbare Datei deren Inhalt, wenn man sie mit einem Editor öffnet, irgendwelche Zeichen enthält.
Gibt es eine einfache Möglichkeit dieses Problem zu beseitigen.

Vielen Dank
Bitte warten ..
Mitglied: bastla
03.10.2008 um 22:34 Uhr
Hallo IchWeissNicht!

Wird es besser, wenn Du Zeile 9 durch
01.
xcopy /e /c /i "%quelle%" "%ziel%"
ersetzt?

Grüße
bastla
Bitte warten ..
Mitglied: IchWeissNicht
04.10.2008 um 12:17 Uhr
Vielen Dank.
Mit der Erstellung des Sicherungsordners "Eigene Dateien" plus dem Zusatz des aktuellen Datums und der aktuellen Uhrzeit funktioniert es mit deinem Tip super.
Wie ich gerade heraus gefunden habe, funktioniert das überschreiben des jeweiligen Sicherungsordners jedoch nicht. Es werden immer neue Sicherungsordner angelegt.
Eigentlich sollte nach Ablauf der 7 Datensicherung, die älteste Datensicherung, in diesem Beispiel Ordner 1 (siehe Beispiel oben) durch die aktuelle Datensicherung ersetzt werden. So das die erste Datensicherung (Ordner 1) durch die achte Datensicherung überschrieben wird.
Gibt es ein Weg dieses Problem ohne Mithilfe von Extra-Programmen zu lösen?

Vielen Dank
Bitte warten ..
Mitglied: miniversum
04.10.2008 um 12:43 Uhr
Nachvollziehen kann ich nicht warum es nicht funktionieren sollte. Ich habe das ganze bei mir hier mit folgender Zeile nachgestellt:
01.
FOR /F "skip=6 delims=" %%i in ('dir /B /AD /O-D "%ziel%"') do echo rd /S /Q "%ziel%\%%i"
So wird angezeigt welche Ordner gelöscht werden. Es sollten dabei immer die neusten 6 Ordner behalten werden und alle anderen gelöscht, unabhängig von deren Namen. Sortiert wird nach dem Erstelldatum.
Bitte warten ..
Mitglied: bastla
04.10.2008 um 12:53 Uhr
@miniversum

Da %ziel% ja aktuelles Datum samt Uhrzeit beinhaltet, wird die "for"-Schleife keinen Ordner finden - daher eher:
01.
FOR /F "skip=6 delims=" %%i in ('dir /B /AD /O-D "D:\Eigene Dateien *"') do echo rd /S /Q "%ziel%\%%i"
Grüße
bastla
Bitte warten ..
Mitglied: IchWeissNicht
05.10.2008 um 14:46 Uhr
Danke für eure Mithilfe.
Leider funktioniert das überschreiben des jeweiligen älteren Sicherungsordners durch den aktuellen noch nicht. Es werden immer neue Sicherungsordner angelegt. Habe jetzt mal den Code gepostet, so wie ich ihn auch zu ausprobieren auf meinen Rechner habe. In diesem Code habe ich nur den Sicherungspfad auf H:\Backup\ und den Sicherungszähler auf 3 angepaßt, da mir 7 Sicherungen doch es viel erschienen zwecks Platzbedarf.

01.
@echo off 
02.
set "quelle=C:\Dokumente und Einstellungen\User\Eigene Dateien" 
03.
set "ziel=H:\Backup\Eigene Dateien %Date:.=% %time::=%" 
04.
 
05.
REM Älteste Sicherung löschen  
06.
FOR /F "skip=3 delims=" %%i in ('dir /B /AD /O-D "H:\Backup\Eigene Dateien *"') do echo rd /s /q "%ziel%\%%i" 
07.
 
08.
REM Kopie durchführen 
09.
xcopy /e /c /i "%quelle%" "%ziel%"
Könnt ihr mir bitte helfen und posten wo der Fehler sein könnte?
Danke
Bitte warten ..
Mitglied: bastla
05.10.2008 um 15:23 Uhr
Hallo IchWeissNicht!

So sollte es dann wirklich gehen:
01.
@echo off & setlocal 
02.
set "quelle=C:\Dokumente und Einstellungen\User\Eigene Dateien" 
03.
set "ziel=H:\Backup 
04.
set "pre=Eigene Dateien" 
05.
 
06.
set "timestamp=%Date:.=% %Time::=%" 
07.
set "timestamp=%timestamp:~,-3% 
08.
 
09.
REM Älteste Sicherung löschen  
10.
FOR /F "skip=3 delims=" %%i in ('dir /B /AD /O-D /TC "%ziel%\%pre%*"') do rd /s /q "%ziel%\%%i" 
11.
 
12.
REM Kopie durchführen 
13.
xcopy /e /c /i "%quelle%" "%ziel%\%pre% %timestamp%\"
Bei der vorigen Variante war ua auch noch ein "echo" vor dem "rd" enthalten - damit wurde der Löschbefehl nur angezeigt, aber nicht ausgeführt (beim Testen sinnvoll, wenn's dann tatsächlich laufen soll, natürlich etwas hinderlich ).

Grüße
bastla
Bitte warten ..
Mitglied: IchWeissNicht
19.10.2008 um 17:01 Uhr
Vielen Dank für eure Hilfe.
Es funktioniert genau so wie ich mir es vorgestellt habe.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Verschlüsselung & Zertifikate
Verschlüsselung: Mit Veracrypt lässt sich nur eine Partition verschlüsseln (1)

Frage von NCCTech zum Thema Verschlüsselung & Zertifikate ...

Windows Server
gelöst C-Partition vergrößern, bei vorhandenem D? (7)

Frage von 1410640014 zum Thema Windows Server ...

Windows Netzwerk
gelöst DNS - Weiterleitung zu DNS-Server in anderer Domain (5)

Frage von Schauer zum Thema Windows Netzwerk ...

Backup
gelöst Datensicherung von Daten, auf denen die ganze Zeit gearbeitet wird (8)

Frage von Windows11 zum Thema Backup ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...

DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...