Mit xCopy kopierte Verzeichnisse im Logfile nur den Verzeichnisnamen dokumentieren
Hallo Leute,
ich habe hier aus verschiedenen Beiträgen mir bereits ein paar Codes zusammenkopiert.
Ich möchte per xCopy größere Verzeichnisse, ca. 80GB groß, kopieren.
Mich interessiert in einer Logdatei nicht der Inhalt der Verzeichnisse, sondern nur der Verzeichnisname selbst (der enthält alle relevanten Informationen, wie Datum und Uhrzeit).
Nach dem Kopieren wird eine Routine gestartet, die das älteste Backup von insgesamt 4 Backups löscht. Das funktioniert.
Das Kopieren haben wir so gelöst (Bsp. 1) allerdings stehen in der Logdatei mehrere MB an Daten.
In Beispiel 1 würde ich gerne den xCopy Befehl so anwenden, sodass in der Logdatei nicht die kompletten Daten, sondern nur die Verzeichnisnamen aufgelistet oder dargestellt werden.
Wie kann man dies realisieren?
Grüße
Mick
Bsp. 1
--SICHERN DER DATEN--
rem @echo off
Set Quelle=D:\Daten
Set Ziel1=D:\Verzeichnis1
Set Ziel2=D:\Verzeichnis2
Set Log=D:\Backup.log
echo. >>%log%
echo. >>%log%
echo ------------------------------------------------------ >>%log%
echo. >>%log%
echo ------------------------------------------------------ >>%log%
echo. >>%log%
echo. >>%log%
IF %Errorlevel% EQU 0 (
>>%Log% Echo %time% Datei %1 erfolgreich kopiert
) Else (
>>%Log% Echo %time% Datei %1 NICHT kopiert, Fehler %Errorlevel%
)
Goto :Eof
ich habe hier aus verschiedenen Beiträgen mir bereits ein paar Codes zusammenkopiert.
Ich möchte per xCopy größere Verzeichnisse, ca. 80GB groß, kopieren.
Mich interessiert in einer Logdatei nicht der Inhalt der Verzeichnisse, sondern nur der Verzeichnisname selbst (der enthält alle relevanten Informationen, wie Datum und Uhrzeit).
Nach dem Kopieren wird eine Routine gestartet, die das älteste Backup von insgesamt 4 Backups löscht. Das funktioniert.
Das Kopieren haben wir so gelöst (Bsp. 1) allerdings stehen in der Logdatei mehrere MB an Daten.
In Beispiel 1 würde ich gerne den xCopy Befehl so anwenden, sodass in der Logdatei nicht die kompletten Daten, sondern nur die Verzeichnisnamen aufgelistet oder dargestellt werden.
Wie kann man dies realisieren?
Grüße
Mick
Bsp. 1
--SICHERN DER DATEN--
rem @echo off
Set Quelle=D:\Daten
Set Ziel1=D:\Verzeichnis1
Set Ziel2=D:\Verzeichnis2
Set Log=D:\Backup.log
echo. >>%log%
echo. >>%log%
echo ------------------------------------------------------ >>%log%
echo. >>%log%
%Log% Echo Datum: %date% %time%
echo ------------------------------------------------------ >>%log%
echo. >>%log%
%Log% Echo Datum: %date% %time% %Ziel1%
%Log% Xcopy "%Quelle%%1" "%Ziel1%" /I /H /E /Y
%Log% Xcopy "%Quelle%%1" "%Ziel1%" /I /H /E /Y
%Log% Echo Datum: %date% %time% %Ziel2%
%Log% Xcopy "%Quelle%%1" "%Ziel2%" /I /H /E /Y
%Log% Xcopy "%Quelle%%1" "%Ziel2%" /I /H /E /Y
IF %Errorlevel% EQU 0 (
>>%Log% Echo %time% Datei %1 erfolgreich kopiert
) Else (
>>%Log% Echo %time% Datei %1 NICHT kopiert, Fehler %Errorlevel%
)
Goto :Eof
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 245182
Url: https://administrator.de/contentid/245182
Ausgedruckt am: 25.11.2024 um 14:11 Uhr
16 Kommentare
Neuester Kommentar
http://de.wikipedia.org/wiki/Robocopy
Zitat:
"Es ist weit flexibler als das mit älteren Windows/DOS-Versionen ausgelieferte copy oder xcopy. Während es früher über das „Windows Resource Kit“ nachinstalliert werden musste, ist es in den Windows-Versionen ab Vista – auch in Windows Servern ab Version 2008 – standardmäßig enthalten und kann direkt aus der Kommandozeile heraus bzw. in der Powershell verwendet werden."
Gut. Dieser Artikel ist jetzt nicht der Oberhammer. Aber kurz und präzise.
F.
Zitat:
"Es ist weit flexibler als das mit älteren Windows/DOS-Versionen ausgelieferte copy oder xcopy. Während es früher über das „Windows Resource Kit“ nachinstalliert werden musste, ist es in den Windows-Versionen ab Vista – auch in Windows Servern ab Version 2008 – standardmäßig enthalten und kann direkt aus der Kommandozeile heraus bzw. in der Powershell verwendet werden."
Gut. Dieser Artikel ist jetzt nicht der Oberhammer. Aber kurz und präzise.
F.
Hey,
so könnte es in dein Script eingebaut werden:
Die Fehlerabfrage funktioniert so natürlich nicht.
Gruss, Endoro
so könnte es in dein Script eingebaut werden:
@echo off &setlocal
Set "Quelle=D:\Daten"
Set "Ziel1=D:\Verzeichnis1"
Set "Ziel2=D:\Verzeichnis2"
Set "Log=D:\Backup.log"
>>%log% echo(
>>%log% echo(
>>%log% echo ------------------------------------------------------
>>%log% echo(
>>%Log% Echo Datum: %date% %time%
>>%log% echo ------------------------------------------------------
>>%log% echo(
>>%Log% Echo Datum: %date% %time% %Ziel1%
for /f "tokens=1-3delims=\" %%a in ('xcopy "%Quelle%%1" "%Ziel1%" /I /H /E /Y') do >>%log% echo(%%~a\%%~b\%%~c
>>%log% echo(
>>%Log% Echo Datum: %date% %time% %Ziel2%
for /f "tokens=1-3delims=\" %%a in ('xcopy "%Quelle%%1" "%Ziel2%" /I /H /E /Y') do >>%log% echo(%%~a\%%~b\%%~c
IF %Errorlevel% EQU 0 (
>>%Log% Echo %time% Datei %1 erfolgreich kopiert
) Else (
>>%Log% Echo %time% Datei %1 NICHT kopiert, Fehler %Errorlevel%
)
Gruss, Endoro