tobias-azubi
Goto Top

Batch Datei mit Ausgabe

Hi,
ich würde gerne einen *.txt erhalten wenn mei Xcopy befehl durchgelaufen ist ... darin soll stehen
wie lange er gebraucht hat
wieviel es war
und Wo evntl Fehler aufgetreten sind.

Ist so etwas möglich?

So sieht sie bis jetzt aus

xcopy c:*.* d:Sicherung /e /i /y /h /c

Es handelt sich um eine Datenmenge von ungefähr 500gb falls das wichtig ist.
Iwer einen vorschlag?

Mfg Tobias

Content-Key: 121974

Url: https://administrator.de/contentid/121974

Printed on: April 20, 2024 at 02:04 o'clock

Member: education
education Aug 04, 2009 at 11:08:58 (UTC)
Goto Top
ja die umstellung heist robocopy. wird heute hier auch schon gesagt.

xcopy ist nicht mehr ganz aktuell. eine "logfunktion ist leider nicht direkt möglich. was du machen könntest:

echo %time% %date% sicherung gestartet >> d:\sicherungslog.txt
xcopy c:*.* d:Sicherung /e /i /y /h /c
echo %time% %date% sicherung beendet >>d:\sicherungslog.txt

nachtrag:

echo %time% %date% sicherung gestartet >> d:\sicherungslog.txt
xcopy c:*.* d:Sicherung\ /l >> d:\dateicopy.txt
xcopy c:*.* d:Sicherung\ /e /i /y /h /c
echo %time% %date% sicherung beendet >>d:\sicherungslog.txt
Member: noodyn
noodyn Aug 04, 2009 at 11:11:40 (UTC)
Goto Top
sicher, warum nicht, wird aber etwas umfangreicher.

0. Erzeugen der txt Datei
1. Merken der Startzeit.
2. xcopy
3. Vergleich Endzeit mit Startzeit
4. Größenermittlung des kopierten Verzeichnisses

Für Fehleranalyse kannst du nur das komplette log von xcopy mit reinschreiben
Member: Tobias-Azubi
Tobias-Azubi Aug 04, 2009 at 11:38:05 (UTC)
Goto Top
Okay vielen dank schonmal...
werde es testen und mich dann wieder melden
Member: Larz
Larz Aug 04, 2009 at 11:52:03 (UTC)
Goto Top
Hallo Tobias,

hab mal etwas rumprobiert. Technisch ist es so gedacht:

1. Ich lege eine Log-Datei an und schreibe zu Beginn die Startzeit rein
2. Ich schreibe in diese Log-Datei die aktuelle Verzeichnisgröße des Scherungsordners
3. Nun kopieren wir die Daten (welche, das wird ebenfalls ins Log geschrieben)
4. Jetzt ermitteln wir die aktuellen Zeit nach dem Kopieren, ab damit in die in die Log-Datei
5. Nun noch Ermitteln die neue Verzeichnisgröße ermitteln und ebenfalls ins Log damit.
6. Zu guter letzt - versenden wir diese Log-Datei als E-Mail mittels dem Programm blat.exe

cd\
cls
set LogDatei=C:\Sicherung\log.txt
set Quellverzeichnis=C:\Quelle\*.*
set Sicherungsordner=C:\Sicherung
set Blat=c:\Tools\blat.exe
set Absender=Absender@DeineMail.de
set Empfaenger=Empfaenger@DeineMil.de
set SMTPServer=Servername_oder_IP
del %LogDatei%
FOR /F "tokens=3 delims= " %%i in ('dir /s %Sicherungsordner%^|find "Datei(en)"') do set Groesse=%%i  
@echo Startzeitpunkt: &time/t >> %LogDatei%
@echo Aktuelle Verzeichnisgröße: &@echo %Groesse% Bytes >> %LogDatei%
xcopy %Quellverzeichnis% %Sicherungsordner% /e /i /y /h /c >> %LogDatei%
@echo Endzeitpunkt: &time/t >> %LogDatei%
@echo Neue Verzeichnisgröße: &@echo %Groesse% Bytes >> %LogDatei%
"%Blat%" %LogDatei% -to %Empfaenger% -subject "Sicherung durchgefuehrt" -Server %SMTPServer% -f %Absender%  

Ich hoffe es ist nachvollziehbar,. sonst fragen...

Gruß
Larz
Member: potshock
potshock Aug 04, 2009 at 12:40:26 (UTC)
Goto Top
Hi Tobias,

wie education schon richtig schreibt, ist dies am einfachsten mit robocopy zu bewerkstelligen, z.B.so:

robocopy "C:\Dokumente und Einstellungen\Administrator\Anwendungsdaten\Thunderbird" "G:\Sicherungen\Sichergamer\Thunderbird" /MIR /LOG+:c:\sicher.log /TEE

/MIR bewirkt, daß nur neuere Dateien kopiert werden und nicht mehr vorhanden gelöscht werden.
/LOG+:c:\sicher.log erstellt einen sicher.log auf C:
/TEE gibt die geloggten Daten auch auf dem Bildschirm aus

Weitere Infos zu robocopy z.B. hier: http://www.msu-hb.de/system/system/robocopy.htm

T@cky