Batch weiter entwickeln?
Hallo,
ich brauche Hilfe! Ich habe eine Backup Batch gemacht und es funkt. eigener maßen, aber mir fällt noch dass, wenn im Quell die Datei nicht vorhanden ist aber dafür im Ziel, soll es im Ziel gelöscht werden. Und was kann man hier noch verbessern? Danke im Voraus!
ich brauche Hilfe! Ich habe eine Backup Batch gemacht und es funkt. eigener maßen, aber mir fällt noch dass, wenn im Quell die Datei nicht vorhanden ist aber dafür im Ziel, soll es im Ziel gelöscht werden. Und was kann man hier noch verbessern? Danke im Voraus!
@ECHO OFF
:neu
CLS
ECHO;
ECHO 1) Daten Kopieren
ECHO;
ECHO 2) Daten Restore
ECHO;
ECHO 3) Daten Backup
ECHO;
ECHO 4)
ECHO;
set choice=
set /P choice=Auswahl:
if not [%choice%]== set choice=%choice:~0,1%
if [%choice%] ==[4] goto vier
if [%choice%] ==[3] goto drei
if [%choice%]==[2] goto zwei
if [%choice%]==[1] goto eins
:eins
xcopy /E /H /Y "C:\Programme\Mozilla Firefox" /D /R /A /V "D:\Anwendungen\Mozilla Firefox\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Rainlendar" /D /R /A /V "D:\Anwendungen\Rest\Rainlendar\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Locktime" /D /R /A /V "D:\Anwendungen\Rest\Locktime\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Mobile Master" /D /R /A /V "D:\Anwendungen\Rest\Mobile Master\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Mozilla" /D /R /A /V "D:\Anwendungen\Rest\Mozilla\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\concept design" /D /R /A /V "D:\Anwendungen\Rest\concept design\"
xcopy /E /H /Y "C:\Programme\Trillian" /D /R /A /V "D:\Anwendungen\Trillian\"
xcopy /E /H /Y "C:\Programme\autoUSD" /D /R /A /V "D:\Anwendungen\autoUSD\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Talkback" /D /R /A /V "D:\Anwendungen\Rest\Talkback\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Thunderbird" /D /R /A /V "D:\Anwendungen\Rest\Thunderbird\"
xcopy /E /H /Y "C:\Dokumente und Einstellungen\%USERNAME%\Lokale Einstellungen\Anwendungsdaten\Thunderbird" /D /R /A /V "D:\Anwendungen\ThunderbirdLocal\"
xcopy /E /H /Y "C:\Programme\Mozilla Thunderbird" /D /R /A /V "D:\Anwendungen\Mozilla Thunderbird\"
pause
GOTO acht
:zwei
RD /S /Q "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Mozilla"
md "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Mozilla"
xcopy /E /H "D:\Anwendungen\Rest" /D /R /Y /A /V "C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\"
xcopy /E /H "D:\Anwendungen\Mozilla Firefox" /D /R /Y /A /V "C:\Programme\Mozilla Firefox\"
xcopy /E /H "D:\Anwendungen\ThunderbirdLocal" /D /R /Y /A /V "C:\Dokumente und Einstellungen\%USERNAME%\Lokale Einstellungen\Anwendungsdaten\Thunderbird\"
xcopy /E /H "D:\Anwendungen\Mozilla Thunderbird" /D /R /Y /A /V "C:\Programme\Mozilla Thunderbird\"
xcopy /E /H "D:\Anwendungen\Trillian" /D /R /Y /A /V "C:\Programme\Trillian\"
pause
GOTO acht
:drei
RD /S /Q "D:\Anwendungen\Backup"
md "D:\Anwendungen\Backup"
Echo Backup wurde geloescht!
pause
xcopy /E /H "D:\Anwendungen\Mozilla Firefox" /D /R /Y /A /V "D:\Anwendungen\Backup\Mozilla Firefox\"
xcopy /E /H "D:\Anwendungen\Rest" /D /R /Y /A /V "D:\Anwendungen\Backup\Rest\"
xcopy /E /H "D:\Anwendungen\Hitrecorder2" /D /R /Y /A /V "D:\Anwendungen\Backup\Hitrecorder2\"
xcopy /E /H "D:\Anwendungen\ThunderbirdLocal\" /D /R /Y /A /V "D:\Anwendungen\Backup\ThunderbirdLocal\"
xcopy /E /H "D:\Anwendungen\Mozilla Thunderbird" /D /R /Y /A /V "D:\Anwendungen\Backup\Mozilla Thunderbird\"
xcopy /E /H "D:\Anwendungen\Trillian" /D /R /Y /A /V "D:\Anwendungen\Backup\Trillian\"
echo;
Echo Backup wurde erstellt!
pause
GOTO acht
:acht
exit
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 69863
Url: https://administrator.de/contentid/69863
Ausgedruckt am: 26.11.2024 um 07:11 Uhr
34 Kommentare
Neuester Kommentar
Hallo kotik81
Sieh dir dazu mal den Parameter /MIR von Robocopy an. Dieser "spiegelt" 2 Ordner, d.h. es werden auch Daten im Ziel gelöscht.
Robocopy gibts im Windows Resource Kit, downloadbar bei Micro$oft
Edit: Im Allgemeinen würde ich dir empfehlen, für alle Kopiervorgänge Robocopy zu verwenden, da dieses wesentlich stabiler ist als Xcopy und viel mehr Funktionen beinhaltet.
Sieh dir dazu mal den Parameter /MIR von Robocopy an. Dieser "spiegelt" 2 Ordner, d.h. es werden auch Daten im Ziel gelöscht.
Robocopy gibts im Windows Resource Kit, downloadbar bei Micro$oft
Edit: Im Allgemeinen würde ich dir empfehlen, für alle Kopiervorgänge Robocopy zu verwenden, da dieses wesentlich stabiler ist als Xcopy und viel mehr Funktionen beinhaltet.
Moin!
erstmal:
Die robocopy.exe ist nur im Windows Server2003 RK enthalten: Download
Grüße
Dani
erstmal:
Ich habe eine Backup Batch gemacht und es funkt. eigener maßen, aber mir fällt noch dass,
wenn im Quell die Datei nicht vorhanden ist aber dafür im Ziel, soll es im Ziel gelöscht werden.
Wow...was fürn Satz. Holst du zwischendruch noch Luft? wenn im Quell die Datei nicht vorhanden ist aber dafür im Ziel, soll es im Ziel gelöscht werden.
Und, wenn es Dir nix ausmacht, kannst du Bitte meine Batch die oben ist bearbeiten, als
Beispiel
Hmm...ich weiß nicht ob das sinnvoll ist. Denn wie willst du das denn selber lernen?? Ich denke mal die Syntax unterscheidet sich nur zu 5%!Beispiel
Die robocopy.exe ist nur im Windows Server2003 RK enthalten: Download
Grüße
Dani
@TuXHunt3R
Grüße
Dani
..C:\windows ..
Ich meine würe c:\windows\system32 sagen. Somit muss die PATH - Variablen nicht anpassen.Grüße
Dani
Und das robocopy.exe "C:\Dokumente und Einstellungen\%USERNAME%\Eigene
Dateien\Pers*nliche Ordner.pst" "D:\Anwendungen\OutlookBack\Pers*nliche Ordner.pst" %
par% will er nicht kopieren.
Das Problem ist das "ö". Ich nehme mal an, du hast die Datei mit einem 0815 Editor geschrieben. Abhilfe schafft folgende Arbeitsschritte: Gehe in die Eingabeforderung und gebeDateien\Pers*nliche Ordner.pst" "D:\Anwendungen\OutlookBack\Pers*nliche Ordner.pst" %
par% will er nicht kopieren.
edit "Pfad\Datei.bat" an und schreibe statt den Hieroglyphen ersetzen.
Grüße
Dani
Versuch' doch 'mal herauszubekommen, wie der Shortname der Datei ist.
Geh' in das Verzeichnis und gib dir /x ein. Ich vermute, dass der Shortname "PERSNL~1.PST" lautet.
D. h. wenn du den Pfad so aufbaust:
Bei deutschem XP (oder deutschem Sprachpaket):
Bei englischem XP:
Ansonsten könntest Du auch einfach alle PST-Dateien unterhalb des Verzeichnisses kopieren... (ungetestet!)
oder kürzer:
Für die Kopieraktionen aus dem Verzeichnis Anwendungsdaten würde ich den Parameter %APPDATA% verwenden, schreibt sich etwas kürzer, als
mfg
Axel
Geh' in das Verzeichnis und gib dir /x ein. Ich vermute, dass der Shortname "PERSNL~1.PST" lautet.
D. h. wenn du den Pfad so aufbaust:
Bei deutschem XP (oder deutschem Sprachpaket):
"%USERPROFILE%\EIGENE~1\PERSNL~1.PST"
"%USERPROFILE%\MYDOCU~1\PERSNL~1.PST"
Ansonsten könntest Du auch einfach alle PST-Dateien unterhalb des Verzeichnisses kopieren... (ungetestet!)
robocopy.exe "C:\Dokumente und Einstellungen\%USERNAME%\Eigene Dateien\*.pst" "D:\Anwendungen\OutlookBack" %par%
oder kürzer:
robocopy.exe "%USERPROFILE%\Eigene Dateien\*.pst" "D:\Anwendungen\OutlookBack" %par%
Für die Kopieraktionen aus dem Verzeichnis Anwendungsdaten würde ich den Parameter %APPDATA% verwenden, schreibt sich etwas kürzer, als
"C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten"
mfg
Axel
Wie sieht denn das Ergebnis von dir /x aus?
Bei mir:
Was passiert denn, wenn du alle Dateien aus dem Ordner kopieren willst, also
robocopy.exe "C:\Dokumente und Einstellungen\%USERNAME%\Eigene Dateien\" "D:\Anwendungen\OutlookBack\" %par%
Die Verwendung von Pers"?"nliche Ordner.pst wird so nicht funktionieren!
Ach ja, nach etwas stöbern in der Hilfe (und zwanzig maligem Ignorieren der ersten Zeilen der Paramterliste, kopfschüttel), viel mir der Fehler auf, den wir (zum Glück) anscheinend alle gemacht haben... (na ja, ich verwende auch meistens xcopy... oder ich kopiere nur ganze Verzeichnisse...)
Beim Kopieren von einzelnen Dateien mußt Du die Datei explizit als eigenen Parameter angeben:
Informative Seite über robocopy und GUI's für robocopy:
http://dr-luthardt.de/windows.htm?tip=robocopy
mfg
Axel
Bei mir:
C:\Documents and Settings\meinname\Eigene Dateien>dir /x
Volume in drive C has no label.
Volume Serial Number is B0A2-51E1
Directory of C:\Documents and Settings\meinname\Eigene Dateien
04.10.2007 12:43 <DIR> .
04.10.2007 12:43 <DIR> ..
04.10.2007 12:43 0 PERSNL~1.PST Persönlicher Ordner.pst
1 File(s) 0 bytes
2 Dir(s) 1.378.910.208 bytes free
Was passiert denn, wenn du alle Dateien aus dem Ordner kopieren willst, also
robocopy.exe "C:\Dokumente und Einstellungen\%USERNAME%\Eigene Dateien\" "D:\Anwendungen\OutlookBack\" %par%
Die Verwendung von Pers"?"nliche Ordner.pst wird so nicht funktionieren!
Ach ja, nach etwas stöbern in der Hilfe (und zwanzig maligem Ignorieren der ersten Zeilen der Paramterliste, kopfschüttel), viel mir der Fehler auf, den wir (zum Glück) anscheinend alle gemacht haben... (na ja, ich verwende auch meistens xcopy... oder ich kopiere nur ganze Verzeichnisse...)
Beim Kopieren von einzelnen Dateien mußt Du die Datei explizit als eigenen Parameter angeben:
robocopy.exe "%userprofile%\Eigene Dateien" "D:\Anwendungen\OutlookBack" /E *.pst /mir /ZB /copyall /R:1 /W:1
Informative Seite über robocopy und GUI's für robocopy:
http://dr-luthardt.de/windows.htm?tip=robocopy
mfg
Axel
Mmh, am Schluss wird doch eine Übersicht angezeigt...
Evtl. solltest du dir noch ein Logfile anlegen, mit der Option /TEE wird alles, was du in der console siehst in ein Logfile geschrieben:
Vielleicht machen diese Optionen ja dass, was du möchtest... (nicht getestet)
/ETA Shows estimated time of completion for copied files.
/TS Displays source file timestamps in the output log.
mfg
Axel
P.S.: Muss jetzt leider weg, schaue' morgen wieder 'rein...
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0 0 20
Files : 1 1 0 0 0 18
Bytes : 51 51 0 0 0 581.03 m
Times : 0:00:00 0:00:00 0:00:00 0:00:00
Speed : 1593 Bytes/sec.
Speed : 0.091 MegaBytes/min.
Evtl. solltest du dir noch ein Logfile anlegen, mit der Option /TEE wird alles, was du in der console siehst in ein Logfile geschrieben:
/TEE /LOG:"D:\Anwendungen\OutlookBack\OutlookBack_%date%.log
Vielleicht machen diese Optionen ja dass, was du möchtest... (nicht getestet)
/ETA Shows estimated time of completion for copied files.
/TS Displays source file timestamps in the output log.
mfg
Axel
P.S.: Muss jetzt leider weg, schaue' morgen wieder 'rein...