vorlon
Goto Top

LOG Datei von Robocopy XP027 auswerten

Ich nutze seit Jahren Robocopy XP010 für automatisierte Backups mittels einer Batchdatei und lasse alle Bildschirmausgaben zusätzlich auch als Log-Datei abspeichern.
Aus Performancegründen bin ich gerade dabei das ganze auf Robocopy XP027 umzustellen, jedoch ist die Log-Datei die das neue Robocopy erstellt ein Katastrophe. Hier hat jetzt nicht mehr jedes kopierte Objekt eine Zeile sondern das ganze Log ist ein durchgehender Fließtext ohne Zeilenumbrüche.

Gibt es für diese Art von Log-Datei einen speziellen "Viewer" oder wie kann man den Text sinnvoll aufbereiten?

Wenn ich mich so durch die einschlägigen Foren suche, habe ich fast das Gefühl ich bin der einzige Mensch der damit ein Problem hat...

Content-ID: 188887

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

Ausgedruckt am: 22.11.2024 um 10:11 Uhr

Penny.Cilin
Penny.Cilin 31.07.2012 aktualisiert um 14:05:53 Uhr
Goto Top
Halli hallo hallöle,

Robocopy XP027 ist doch von Windows 7, meines Wissens nach.
Hast Du evtl. die Logausgabe als Unicode erstellt?

[edit] Nutze Robocopy hier auf Windows 7 x64, und das LOG ist wie bei der Version XP010. Kann also mit dem Notepad angeschaut werden.


Gruss Penny.
pieh-ejdsch
pieh-ejdsch 31.07.2012 um 14:53:04 Uhr
Goto Top
moin,

also für die Batches von hier nutze ich den Batch um diese Zeilen aufzudröseln:

@echo off
if "%~1" equ "" echo Syntaxfehler. 1>&2 &exit /b 1  
if not exist "%~1" echo Datei nicht gefunden! 1>&2 & exit /b 2  
if "%~1" equ "/?" echo Schreibt Dateien mit echten Zeilenumbruechen. &echo %~n0 Quelldatei &exit /b 0  
>"%temp%\%~nx1" findstr /n "^" "%~1"  
3>"%~dpn1-CRLF%~x1" (for /f "usebackq delims=" %%i in ("%temp%\%~nx1") do (set "Line=%%i"  
  setlocal enabledelayedexpansion
  >&3 echo(!Line:*:=!
  endlocal
))
del "%temp%\%~nx1"  

Gruß Phil
Penny.Cilin
Penny.Cilin 31.07.2012 um 16:35:31 Uhr
Goto Top
Halli hallo hallöle,

@phil: ich finde das Shellskript richtig gut. Respekt.

Warum beim OP das LOG als durchgehender Fließtext ohne Zeilenumbrüche erstellt wird, hat er uns noch nicht verraten.
Ich hatte glaube ich den Fall, nur bei Einsatz der Parameter

/UNILOG:datei
/UNILOG+:datei</code


Gruss Penny.
Vorlon
Vorlon 31.07.2012 um 18:17:29 Uhr
Goto Top
Danke für die schnellen Antworten! Wie es scheint bin ich wohl der einzige Mensch auf der Welt bei dem ein unbrauchbares Log generiert wird.

Ich habe mal drei verschiedene Konstellationen durchprobiert:
XP010, XP027 und XP027 als Unicode.
Die beiden letzten Logs sind die Problemfälle, alles im Standard Editor von Win7 geöffnet.


ROBOCOPY :: Robust File Copy for Windows :: Version XP010

Started : Tue Jul 31 15:57:47 2012

Source : c:\test\
Dest : b:\test\

Files : *.*

Options : *.* /TEE /S /E /COPY:DAT /ZB /NP /R:0 /W:0


New Dir 13 c:\test\
New File 35449 Boot.jpg
New File 82616 delfin.jpg
New File 845941 Desert.jpg
New File 70919 Feld.jpg
New File 29371 Gras.jpg
New File 34731 Horses.jpg
New File 780831 Koala.jpg
New File 49179 Peach.jpg
New File 777835 Penguins.jpg
New File 24733 Portrait.jpg
New File 620888 Tulips.jpg
New File 20201 Windmuehle.png
New File 42121 Wueste.jpg


Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 1 0 0 0 0
Files : 13 13 0 0 0 0
Bytes : 3.25 m 3.25 m 0 0 0 0
Times : 0:00:00 0:00:00 0:00:00 0:00:00

Speed : 9538589 Bytes/sec.
Speed : 545.802 MegaBytes/min.

Ended : Tue Jul 31 15:57:47 2012


c:\test\b:\test\*.*
*.* /FP /TEE /S /E /COPY:DAT /DCOPY:T /PURGE /MIR /B /NP /ETA /M /MT:8 /R:0 /W:0 c:\test\c:\test\Boot.jpgc:\test\delfin.jpgc:\test\Desert.jpgc:\test\Feld.jpgc:\test\Gras.jpgc:\test\Horses.jpgc:\test\Koala.jpgc:\test\Peach.jpgc:\test\Penguins.jpgc:\test\Portrait.jpgc:\test\Tulips.jpgc:\test\Windmuehle.pngc:\test\Wueste.jpg 1 1 0 0 0 0 13 13 0 0 0 0 3.25 m 3.25 m 0 0 0 0


㩣瑜獥屴㩢瑜獥屴⸪ਪ †⨠⸀⨀ ⼀䘀倀 ⼀吀䔀䔀 ⼀匀 ⼀䔀 ⼀䌀伀倀夀㨀䐀䄀吀 ⼀䐀䌀伀倀夀㨀吀 ⼀倀唀刀䜀䔀 ⼀䴀䤀刀 ⼀䈀 ⼀一倀 ⼀䔀吀䄀 ⼀䴀 ⼀刀㨀  ⼀圀㨀  挀尺整瑳⁜††††††††††††††ㄠㄠ†††‰‰‰‰††ㄠ″‰††㌱〠〠〠†⸳㔲洠〠㌠㈮‵‰‰‰†††††††††††
Vorlon
Vorlon 01.08.2012 um 00:06:43 Uhr
Goto Top
Noch einmal Hallo an alle!

Ich habe nun die Ursache gefunden, kann mir aber keinen Reim darauf machen.

Wenn in der Batch einfach nur robocopy aufrufe und so die Version aus dem Windows\System32-Verzeichnis verwendet wird bekomme ich ein vernünftiges Log.
Kopiere ich allerdings die robocopy.exe in das Verzeichnis mit der Batch und führe diese aus, so erhalte ich wieder ein LOG als Fließtext.

Kann es sein, daß mir da noch irgend etwas aus dem System32-Verzeichnis fehlt?
Penny.Cilin
Penny.Cilin 01.08.2012 um 08:33:33 Uhr
Goto Top
Moin Vorlon,

warum nutzt Du dann nicht das Robocopy direkt aus dem Stammverzeichnis, wo es ist und sein soll?
Statt rumzufrickeln setze ggf. den Pfad und rufe Robocopy auf.
 ...
pushd C:\Windows\System32
Robocopy <quelle> >ziel> <parameter>
...

Die Angaben <quelle> >ziel> <parameter> sind sinngemäß anzupassen.


Gruss Penny.
pieh-ejdsch
pieh-ejdsch 01.08.2012, aktualisiert am 21.09.2012 um 09:58:01 Uhr
Goto Top
moin,

der Befehl pushD ist aber dafür gedacht um in bestimmten Verzeichnissen zu arbeiten.
 rem zB. hole die Dateien in dieses Verzeichnis
pushD D:\Test
copy D:\Musik\*.mp3
popD

Für die Pfade der ausführbaren Programme ist die Variable Path zuständig.
Genauso ist die Variable Pathext für die Programmarten zuständig, welche keine Angabe einer Endung erfordern.
 rem zB. Angabe einer Fremden CMD-Anwendung
 rem nur den Pfad zur wget.exe angeben 
set "wgetPath=D:\wsusoffline\bin"   
 rem wget in Path eintragen 
(echo %path:;=;&echo(%;)|find /i "find /i "%wgetpath%;" >nul || set "path=%path%;%wgetpath%"   
 rem prüfe ob wget gefunden 
(wget) 2>&1 |findstr /n "Befehl nicht" && >&2 (echo(&echo wget.exe nicht gefunden. Bitte Pfad angeben!& exit /b 1)  
 rem hier kanns losgehen

Willst Du Vorangig eine BetriebsytemFremde Ausführbare Datei nutzen, dann muss nur der Pfad der Externen Anwendung zuerst in der Variable Path aufgeführt werden.
 rem zB. einer externen Anwendung vorangig die Ausführung geben
set "path=D:\extCMDs\;%path%"  
 rem zB. wird nun erst die Choice.exe aus dem Verzeichnis "D:\extCMDs\" ausgeführt.  
choice 

Gruß Phil
Vorlon
Vorlon 01.08.2012 um 16:08:51 Uhr
Goto Top
Die robocopy.exe im System32-Verzeichnis zu nutzen ist zwar eine Möglichkeit und "pfadtechnisch" auch kein Problem, da dieses Verzeichnis ja bereits standardmäßig im Pfad liegt.
Da ich mein Backuptool aber auf verschiedenen Maschinen mit ebenfalls unterschiedlichen Betriebsystemen
nutze wäre mir ein ein Robocopy im Verzeichnis der Batch lieber. Ist schon einmal eine mögliche Fehlerquelle weniger.