Top-Themen

Aktuelle Themen (A bis Z)

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

Frage Entwicklung Batch & Shell

Mit xCopy kopierte Verzeichnisse im Logfile nur den Verzeichnisnamen dokumentieren

Mitglied: mick111

mick111 (Level 1) - Jetzt verbinden

31.07.2014 um 10:47 Uhr, 1402 Aufrufe, 16 Kommentare

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%
>>%Log% Echo Datum: %date% %time%


echo ------------------------------------------------------ >>%log%
echo. >>%log%
>>%Log% Echo Datum: %date% %time% %Ziel1%
>>%Log% Xcopy "%Quelle%%1" "%Ziel1%" /I /H /E /Y
echo. >>%log%
>>%Log% Echo Datum: %date% %time% %Ziel2%
>>%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
Mitglied: emeriks
31.07.2014 um 13:02 Uhr
Hi,
ich würde einfach statt xcopy das robocopy benutzen und hier mit Parameter /NFL arbeiten.

E.
Bitte warten ..
Mitglied: mick111
31.07.2014 um 13:13 Uhr
Nein Danke, kein Robocopy, nur Windows Boardmittel.
Bitte warten ..
Mitglied: emeriks
31.07.2014 um 14:26 Uhr
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.
Bitte warten ..
Mitglied: mick111
31.07.2014 um 15:05 Uhr
Wusste ich nicht, ich kannte es nur von früher, wo man extra downloaden musste.
Wir möchten es aber trotzdem gerne mit xCopy realisieren, respektive der Kunde.
Und bei uns ist der Kunde KIK.

Trotzdem Danke.

Mick
Bitte warten ..
Mitglied: mick111
31.07.2014, aktualisiert um 16:01 Uhr
Hallo Emeriks,

rein interessehalber haben wir uns das Robocopy mit NFL angeschaut. Hier listet er uns ebenfalls alle Unterverzeichnisse auf und das sind bei 2 GB an Daten schon soviele Unterverzeichnisse, dass man den Überblick verliert. Ich brauche nur das oberste Verzeichnis.

z. B.:

DatenBackup_2014_07_31_15_39_20 (das ist das oberste Verzeichnis, diese Info brauchen wir, keine Unterverzeichnisse)

Ich mache mal einen Auszug, wie es z. B. mit Robocopy kommt:
Wie würde man in Robocopy oder xCopy die Unterverzeichnisse im Log nicht dokumentiert bekommen?

2 D:\Sicherung\DatenBackup_2014_07_31_15_39_20\FileStores\Test\000\000\000\000\000\000\101\
1 D:\Sicherung\DatenBackup_2014_07_31_15_39_20\FileStores\Test\000\000\000\000\000\000\105\
2 D:\Sicherung\DatenBackup_2014_07_31_15_39_20\FileStores\Test\000\000\000\000\000\000\107\
1 D:\Sicherung\DatenBackup_2014_07_31_15_39_20\FileStores\Test\000\000\000\000\000\000\109\
2 D:\Sicherung\DatenBackup_2014_07_31_15_39_20\FileStores\Test\000\000\000\000\000\000\111\
1 D:\Sicherung\DatenBackup_2014_07_31_15_39_20\FileStores\Test\000\000\000\000\000\000\113\
2 D:\Sicherung\DatenBackup_2014_07_31_15_39_20\FileStores\Test\000\000\000\000\000\000\115\
1 D:\Sicherung\DatenBackup_2014_07_31_15_39_20\FileStores\Test\000\000\000\000\000\000\117\
2 D:\Sicherung\DatenBackup_2014_07_31_15_39_20\FileStores\Test\000\000\000\000\000\000\119\
1 D:\Sicherung\DatenBackup_2014_07_31_15_39_20\FileStores\Test\000\000\000\000\000\000\121\
2 D:\Sicherung\DatenBackup_2014_07_31_15_39_20\FileStores\Test\000\000\000\000\000\000\123\
1 D:\Sicherung\DatenBackup_2014_07_31_15_39_20\FileStores\Test\000\000\000\000\000\000\125\
2 D:\Sicherung\DatenBackup_2014_07_31_15_39_20\FileStores\Test\000\000\000\000\000\000\127\
1 D:\Sicherung\DatenBackup_2014_07_31_15_39_20\FileStores\Test\000\000\000\000\000\000\129\


Mick
Bitte warten ..
Mitglied: Endoro
31.07.2014 um 22:17 Uhr
Hey,
du könntest xcopy mit geeigneten Delimitern in eine For-f-Schleife packen, etwa so:
01.
for /f "tokens=1-3delims=\" %a in ('xcopy "%cd%" "%temp%" /I /H /E /Y') do @echo(%~a\%~b\%~c
Gruss, Endoro
Bitte warten ..
Mitglied: mick111
31.07.2014 um 22:30 Uhr
Hallo Endoro,

danke.
Kann es sein, das Dir da etwas beim Kopieren abhanden gekommen ist?
Ich bin da nicht so der Ober Guru

Gruss
Mick
Bitte warten ..
Mitglied: Endoro
01.08.2014 um 08:54 Uhr
Hey, es ist kein fertiges Programm, nur ein Hinweis zum Weiterkommen.
Du kennst die Syntax? Gruss, Endoro
Bitte warten ..
Mitglied: mick111
01.08.2014 um 09:51 Uhr
Hallo Endoro,

ich weiss, das das kein fertiges Script ist
Nein, nicht so vertraut mit der Syntax...., leider.
Grundlegende Dinge, ok.
Ich habe oben in meinem Beitrag, das was ich bisher habe.
(Ich habe etwas ähnliches noch mit DIR und automatischem Löschen von Sicherungen, die mehr als x Verzeichnisse im Laufwerk enthalten.
Nur das umzusetzen auf xcopy macht mir Probleme.
Wäre schön, wenn Du noch paar Infos mehr hättest für mich.
Danke im Voraus.
Gruss
Mick
Bitte warten ..
Mitglied: Endoro
03.08.2014 um 15:07 Uhr
Hey,
so könnte es in dein Script eingebaut werden:
01.
@echo off &setlocal 
02.
Set "Quelle=D:\Daten" 
03.
Set "Ziel1=D:\Verzeichnis1" 
04.
Set "Ziel2=D:\Verzeichnis2" 
05.
Set "Log=D:\Backup.log" 
06.
     
07.
>>%log% echo( 
08.
>>%log% echo( 
09.
 
10.
>>%log% echo ------------------------------------------------------ 
11.
>>%log% echo( 
12.
>>%Log% Echo Datum: %date% %time% 
13.
 
14.
>>%log% echo ------------------------------------------------------ 
15.
>>%log% echo( 
16.
>>%Log% Echo Datum: %date% %time% %Ziel1% 
17.
for /f "tokens=1-3delims=\" %%a in ('xcopy "%Quelle%%1" "%Ziel1%" /I /H /E /Y') do >>%log% echo(%%~a\%%~b\%%~c 
18.
>>%log% echo( 
19.
>>%Log% Echo Datum: %date% %time% %Ziel2% 
20.
for /f "tokens=1-3delims=\" %%a in ('xcopy "%Quelle%%1" "%Ziel2%" /I /H /E /Y') do >>%log% echo(%%~a\%%~b\%%~c 
21.
 
22.
IF %Errorlevel% EQU 0 ( 
23.
	>>%Log% Echo %time% Datei %1 erfolgreich kopiert 
24.
) Else ( 
25.
	>>%Log% Echo %time% Datei %1 NICHT kopiert, Fehler %Errorlevel% 
26.
)
Die Fehlerabfrage funktioniert so natürlich nicht.
Gruss, Endoro
Bitte warten ..
Mitglied: mick111
03.08.2014 um 18:40 Uhr
Hallo Endoro,

danke erst mal für Deine Unterstützung.
Jetzt läuft wenigstens mal meine Schleife.
In meiner Log steht nun eine Zeile pro Unterverzeichnis, sprich in meinem Test sind es 1900 Verzeichnisse, somit 1900 Zeilen
Ich habe die for Schleife mal etwas abgeändert, jetzt tut sie zwar, aber das ist eigentlich nicht richtig, da der Sinn der Schleife verloren geht, richtig?
Tokens brauche ich nur 3, das reicht mir als Ergebnis... das habe ich nun draus gemacht:

for /f "tokens=3 delims=\" %%a in ('xcopy "%Quelle%%1" "%Ziel1%" /I /H /E /Y') do >>%log% echo %%~a & goto :eof
:eof

Wie gesagt, kopiere ich 4 Backups, dann läuft die Schleife 1x und ich bekomme als Ergebnis nur 1 Zeile im log.
Ich füge Dir jetzt mal das Ergebnis vom Log ein. Der erste Durchlauf war mit der begrenzten Schleife, der 2. Durchlauf mit entferntem goto eof, also im Prinzip wie Du vorhin geschickt hast (ich habe meine Test´s aber bis auf ein paar wenige Verzeichnisse, 5-6, gelöscht, hatte keine Lust auf je 1900 Zeilen ) Beachte bitte auch das Datum im Dateinamen:

Datum: 03.08.2014 18:01:06,97
Datum: 03.08.2014 18:01:06,98 D:\Verzeichnis1
DatenBackup_2014_07_30_11_08_26


Datum: 03.08.2014 18:05:06,68
Datum: 03.08.2014 18:05:06,69 D:\Verzeichnis1
DatenBackup_2014_07_30_11_08_26
DatenBackup_2014_07_30_11_08_26
DatenBackup_2014_07_30_11_08_26
DatenBackup_2014_07_30_11_08_26
DatenBackup_2014_07_30_11_08_26
DatenBackup_2014_07_30_11_25_30
DatenBackup_2014_07_30_11_25_30
DatenBackup_2014_07_30_11_25_30
DatenBackup_2014_07_30_11_25_30
DatenBackup_2014_07_30_11_25_30
DatenBackup_2014_07_30_14_33_46
DatenBackup_2014_07_30_14_33_46
DatenBackup_2014_07_30_14_33_46
DatenBackup_2014_07_30_14_33_46
DatenBackup_2014_07_30_14_33_46
DatenBackup_2014_07_31_15_39_20
DatenBackup_2014_07_31_15_39_20
DatenBackup_2014_07_31_15_39_20
DatenBackup_2014_07_31_15_39_20
DatenBackup_2014_07_31_15_39_20
DatenBackup_2014_07_31_15_39_20
DatenBackup_2014_07_31_15_39_20

(dir /Ad /A-h /b /O-N wäre genau das richtige Ergebnis)

Zur Info: Es wird in Zukunft nur ein Backup pro Tag kopiert, also würde die Schleifenbegrenzung funktionieren, aber was ist, wenn es mal hakt? und was auch noch ist, es ist nicht richtig. Der Pedant
Hast Du noch eine Idee?

Gruss
Mick
Bitte warten ..
Mitglied: Endoro
03.08.2014 um 19:03 Uhr
Was stört genau? Die Doubletten und die Sortierung?
Gruss, Endoro
Bitte warten ..
Mitglied: mick111
03.08.2014, aktualisiert um 19:20 Uhr
die Doubletten. bei 1900 und mehr Zeilen verlierst du den Überblick, was eigentlich kopiert wurde. Es sind bei einem Backup ca. 80GB an Daten, wie viele Verzeichnisse möchte ich gar nicht wissen

Wenn Du mal mein Ergebnis ansiehst, dann wäre das hier genau das richtige.

Datum: 03.08.2014 18:01:06,98 D:\Verzeichnis1
DatenBackup_2014_07_30_11_08_26

Natürlich bei mehreren Backups so:

Datum: 03.08.2014 18:01:06,98 D:\Verzeichnis1
DatenBackup_2014_07_30_11_08_26
DatenBackup_2014_07_31_15_39_20
DatenBackup_2014_07_30_14_33_46

Hab mir schon überlegt, ob das ginge, wenn man das Ergebnis von DIR nimmt und der Schleife übergibt.
Sortierung ist Nebensache.

Gruss
Mick
Bitte warten ..
Mitglied: Endoro
04.08.2014 um 01:59 Uhr
Wenn du nichts kopieren möchtest:
01.
dir /ad-h /b /o-n /s D:\Daten > D:\Backup.log
Gruss, Endoro
Bitte warten ..
Mitglied: mick111
04.08.2014 um 16:15 Uhr
Hallo Endoro,

doch, schon kopieren. DIR oben ist kein Problem, das habe ich bei einem anderen Script schon.
(mein Wunsch: Xcopy mit der Darstellung von DIR, also eine Zeile pro Backup, das kriege ich nicht hin)

Ich habe eine Backup die kopiere ich, dann wäre das folgende Ergebnis ganz gut
das erhalte ich bereits, wenn ich die Schleife 1x laufen lasse:

Datum: 03.08.2014 18:01:06,98 D:\Verzeichnis1
DatenBackup_2014_07_30_11_08_26

Habe ich aber 2 und mehr Backups, die kopiert werden sollen, dann gibt es ein Problem mit meiner Schleife, da sie nur 1x durchläuft.
Werden 2 oder mehr Backups kopiert, dann wäre das Ergebnis wünschenswert:

Datum: 03.08.2014 18:01:06,98 D:\Verzeichnis1
DatenBackup_2014_07_30_11_08_26
DatenBackup_2014_07_31_15_39_20
DatenBackup_2014_07_30_14_33_46

Um 2 Uhr Nachts kam deine Antwort...., Du bist ja fast so schlimm wie ich


Gruss
Karlheinz
Bitte warten ..
Mitglied: mick111
23.08.2014 um 17:32 Uhr
Hallo Leute,

vielleicht könntet Ihr mir nochmal helfen.
Ich habe eine for Schleife, funktioniert auch soweit. Allerdings brauche ich eine Variable von dieser Schleife noch ein 2. Mal. Das müsste mit Setlocal doch gemacht werden, nur ich kriege das nicht auf die Reihe. Es geht um %%~a. Ich habe die in die Fehlerabfrage unten mal eingetragen, dort wo ich sie brauche.


for /f "tokens=3 delims=\" %%a in ('xcopy "%Quelle%%1" "%Ziel2%" /I /H /E /Y') do >>%Log% echo Kopiere %%~a ...& goto :eof2
:eof2

IF %Errorlevel% EQU 0 (
>>%Log% Echo %time% Backup %%~a erfolgreich kopiert
) Else (
>>%Log% Echo %time% Backup %%~a NICHT kopiert, Fehler %Errorlevel%
)

Danke Mick
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Nach xcopy feststellen, ob Datei kopiert wurde oder nicht
gelöst Frage von Scar61Batch & Shell9 Kommentare

Hallo zusammen, in einem Skript wird eine Datei nur dann kopiert, wenn sie in der Quelle neuer ist als ...

Batch & Shell
Robocopy kopiert nicht alle Verzeichnisse
gelöst Frage von mike7050Batch & Shell12 Kommentare

Hallo zusammen, ich bekomme es einfach nicht hin! Ich führe den Befehl robocopy auf einem Win 7 Prof PC ...

Batch & Shell
Xcopy-script kopiert nur 1 datei?
gelöst Frage von f0rml0sBatch & Shell2 Kommentare

hey ich versuche gerade mit einem script dateien von einem unc pfad zum anderen zu kopierenleider kopiert das script ...

Windows Tools
XCopy bei der Konsole von Windows(LOGFILE) funktioniert nicht!
gelöst Frage von aitzi2811Windows Tools8 Kommentare

Musste heute Daten von einer Festplatte auf ein Netzwerk sichern nahm dazu diese Batch Datei XCOPY C:\test\*.* C:\testordner\ /S ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 2 StundenRouter & Routing

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 9 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 13 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...