Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Robocopy im Batchlauf - Fehlermeldung - Der Befehl Robocopy ist entweder falsch geschrieben oder konnte nicht gefunden werden.

Frage Entwicklung Batch & Shell

Mitglied: IT-Hasi

IT-Hasi (Level 1) - Jetzt verbinden

04.02.2012, aktualisiert 18:55 Uhr, 4088 Aufrufe, 17 Kommentare

Einmal ein herzliches "Hallo" als Neuling und folgende Sache die mich nach meiner gestrigen 5 stündige (aussichtslosen) Fehlersuche schon zum verzweifeln bringt ...

Betriebssystem: Windows Vista 64-bit ... seit ca. 2 Wochen komplett neu installiert ... alle SP und Update aktuell ... installiert ist Vista, MS Office 2007, Winamp Player und ein paar kleine Toolprogramme. Sonst nichts aufregendes. Man fast sagen, das System ist noch (fast) jungfräulich. Keine Prb am Betriebssystem bekannt. Im Taskmeanger alles OK, auch hinsichtlich Performance. Im Systemmanager ebenfalls keine Vorkommnisse. Soweit so gut.

Nun zu meiner Problembeschreibung:

In einer Batchdatei kopiere (spiegle) ich mittels Robocopy ca. 50 GB persönliche Daten auf eine interne Festplatte. Das funkt auch Bestens. Zusätzlich aber sichere ich alle diese Daten auf eine externe Festplatte (My Book von Western Digital - 1,2TB) die eigentlich ein Archiv darstellt, welches unberührt bleibt und als Backup für doch gelöschte Dinge auf den internen Festplatten (der Robocopy Spiegelung) dienen sollte.

Nun zu der Batchdatei <ACF_Test (ArchivCopyFile> ... die Ablaufschritte sind folgende:

... Variablenbefüllung (getdate) für den Teil des Headers ...
... Variablenbefüllung (gettime) für den Teil des Headers ...
... Variablenbefüllung (ACF_%getdate%) welches den Namen des Archiv-Verzeichnisses mit dem Tagesdatum darstellen soll ...
... :RENAMELOG ... hier soll das alte LOG File mit dem Tagesdatum in einen Archiv-Ordner verschoben werden ...
... :HEADER ... hier wird für das LOG File das Tagesdatum mit der Uhrzeit und namentlich der Inhalt des Logs festgehalten ...
... :CREATEARCHIV ... hier wird das Archiv erstellt, bei vorhanden sein gelöscht, andernfalls erstellt ...
... :ARCHIVFILECOPY ... hier wird dann mittels mehrerer ROBOCOPY Befehle die benötigten Daten-Verzeichnisse gesichert ...
... :ERRORxxxxxx ... diverse ErrorLevel Tätigkeiten ...
... :ENDE ... hier werden noch diverse persönliche Infos hinzugefügt und fertig ...


Die Batch soll 1x im Monat laufen ... zu jedem Unterprogramm gibt es eine ERRORLEVEL-Abfrage und dementsprechend wird in einem ERROR-Teil verzweigt ... Soweit so gut ... verzeiht mir hier das Ausschweifen aber möchte einmal das Prinzip des Batches darstellen ...


DAS PROBLEM ist nun, dass bei dem Robocopy-Teil die Meldung kommt >>> Der Befehl "Robocopy" ist entweder falsch geschrieben oder konnte nicht gefunden werden. <<<


Was habe ich alles probiert:

-- div Test mit Administrator Einstellung ... kein Erfolg ...
-- Copy/Paste in ein neues Batch File ... kein Erfolg ...
-- diverse Ordner- und Fileberechtigungsänderungen ... kein Erfolg ...
-- die Batch verknüpft und den Wert "als Administrator ausführen ..." gesetzt ... kein Erfolg ...
-- stundenlanges Lesen in div Google-Vorkommnisse und anschließende Tests ... kein Erfolg ...


Dazwischen aber immer wieder den Urzustand hergestellt ... WENN man jedoch NUR den ROBOCOPY-Befehl als "Einzeiler" in einer NEUEN BATCH kopiert und diese ausführt, dann funkt es tadellos ... ebenso wenn man ein CMD-Fenster öffnet und mittels Copy/Paste diesen Einzeiler dort einfügt, detto ... alles funkt bussifein ...


NUR in der Batch NICHT ... seltsam, seltsam ... all meine anderen Batchfiles laufen aber einwandfrei ... denke aber das es sich hierbei um ein (auf einmal auftauchendes) Berechtigungsproblem handelt ... Benutzkontosteuerung ist ausgeschaltet ... Benutzerprofil wird als "Administrator" angezeigt ...



Da ich eures Forum seit ca. 2 Wochen täglich als "Hintergrund-Leser" sehr, sehr schätze, habe ich nun mein beschriebens Problem zum Anlass genommen, mich A) zu registrieren und B) mich nun an Euch zu wenden.


Ich hoffe wir können das Problem lösen, denn nicht nur die Batch ist mit einiger Arbeit geschrieben sondern ich möchte diese auch nicht aufgeben.


Was übersehe ich hier wirklich ???




Als dann, liebe Grüße von meiner Seite und ein Dankeschön im voraus,


Andreas
Mitglied: KowaKowalski
04.02.2012 um 16:14 Uhr
Hi Andreas,


auf welche Art & Weise denkst Du soll Dir nun geholfen werden?
Soll jemand erraten wie Du Dein Robocopy aufrufst?


Mit freundlichen Grüßen
kowa
Bitte warten ..
Mitglied: IT-Hasi
04.02.2012 um 16:30 Uhr
Zitat von KowaKowalski:
Hi Andreas,


auf welche Art & Weise denkst Du soll Dir nun geholfen werden?
Soll jemand erraten wie Du Dein Robocopy aufrufst?


Mit freundlichen Grüßen
kowa


OKeee ... Sorry ... vergessen ... das XCOPY funkt nicht ... das XOPY in der Schleife funkt nicht ... das COPY funkt ...

ROBOCOPY funkt auch nicht ...

So sieht das aus >>> aufgerufen wird diese Manuell ... also mit Maus-Doppelklick ...

Danke & Grüße, Andreas
01.
.... 
02.
:FCDOKUMENTE 
03.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
04.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
05.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
06.
echo *** QUELLE: [D:]___DATEN\---DOKUMENTE---] ***                   	>> D:\___LOGS\COPYARCHIV\Copy_.log 
07.
echo *** ZIEL:   [S:]Archiv_File_Copy] ***                              >> D:\___LOGS\COPYARCHIV\Copy_.log 
08.
echo ------------------------------------------------------		>> D:\___LOGS\COPYARCHIV\Copy_.log 
09.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
10.
:: 
11.
PAUSE 
12.
:: 
13.
for /f "delims=" %%b in ('dir /b "D:\___DATEN\---DOKUMENTE---"') do xcopy /E /Y /I "D:\___DATEN\---DOKUMENTE---\%%b\*.*" "S:\ARCHIV_FILE_COPY\AFC_20120203\---DOKUMENTE---\%%b" >> D:\___LOGS\COPYARCHIV\Copy_.log 
14.
:: 
15.
if %ERRORlevel%==0 goto FCHOMEPAGE 
16.
goto ERRFCDOKUMENTE 
17.
:: 
18.
::copy /Y "D:\___DATEN\---DOKUMENTE---\___Excel\*.*" "S:\ARCHIV_FILE_COPY\%afc%\---DOKUMENTE---\___Excel" >> D:\___LOGS\COPYARCHIV\Copy_.log 
19.
:: 
20.
::copy /Y "D:\___DATEN\---DOKUMENTE---\___Excel\DVD_Verzeichnis.xls" "S:\ARCHIV_FILE_COPY\%afc%\---DOKUMENTE---\___Excel" >> D:\___LOGS\COPYARCHIV\Copy_.log 
21.
::  
22.
::xcopy /E /Y "D:\___DATEN\---DOKUMENTE---\___Excel\*.*" "S:\ARCHIV_FILE_COPY\%afc%\---DOKUMENTE---\___Excel" >> D:\___LOGS\COPYARCHIV\Copy_.log 
23.
:: 
24.
::robocopy /E "D:\___daten\---DOKUMENTE---" "S:\ARCHIV_FILE_COPY\%afc%\---DOKUMENTE---" >> D:\___LOGS\COPYARCHIV\Copy_.log >> D:\___LOGS\COPYARCHIV\Copy_.log 
25.
:: 
26.
pause 
27.
::

[Edit Biber] Codefragment in Codetags. [/Edit]
Bitte warten ..
Mitglied: jens2001
04.02.2012 um 17:31 Uhr
Hi,,

Schon mal versucht ROBOCOPY mit voller Pfadangabe aufzurufen?
Bitte warten ..
Mitglied: IT-Hasi
04.02.2012 um 18:00 Uhr
Hi,

ich glaubs nicht ... das funkt !!!!! (?????????) ...

Sollte doch nicht so gehen ???

Dank Dir ...
Bitte warten ..
Mitglied: IT-Hasi
04.02.2012 um 19:02 Uhr
Soweit alles klar ... stellt sich nur jetzt die Frage für:

Diese Test-Batchdatei - also wo der Einzeiler (DER Robocopy Befehl) steht - funkt ja ... die steht im selben Verzeichnis wie die Batch die nicht funkt ...

Beide werden manuell vom selben User gestartet ... auch habe ich sicherheitshalber alles beendet und Windows neu gestartet ... kein Erfolg ...

Wenn nun das Ganze funkt inkl. der Windows-Pfad-Angabe, frage ich mich, warum die EXE Datei als solches nicht gefunden werden kann ...

Wenn ich mir mittels des SET-Befehles dieses aufruf, bekomme ich auch den Windowspfad dort angezeigt (c:\windwos\system32) ... im PathText steht unter anderem auch (.EXE) ... usw ...

Sehr seltsam das Ganze ... na ich suche weiter ...

Danke & Grüße, Andreas
Bitte warten ..
Mitglied: HubertN
04.02.2012 um 22:34 Uhr
Moin

in der Umgebungsvariable path wird sicher nicht .exe drin stehen. Was hat .exe mit einem Pfad zu tun ??

Da ist garnichts merkwürdiges dran. Alles, was in dieser Umgebungsvariable defriniert ist, findet das Betriebssystem auch ohne genaue Pfadangabe. Das ist der einzige Sinn dieser Sache...

Und weil das so ist, kopiert man die robocopy.exe eben immer ins System32-Verzeichnis und hat die Probleme dann nicht

Gruß

Hubert
Bitte warten ..
Mitglied: bastla
04.02.2012 um 22:41 Uhr
@HubertN
Vermutlich war PATHEXT gemeint ...

Aus einem Batch heraus lässt sich übrigens eine "exe", die im selben Ordner wie der Batch liegt, mit zB
"%~dp0robocopy.exe"
aufrufen ...

Grüße
bastla
Bitte warten ..
Mitglied: bastla
04.02.2012 um 22:50 Uhr
Hallo IT-Hasi und willkommen im Forum!

Deine Zeile 16 ist etwas "optimistisch" - zumindest, wenn Du damit versuchen solltest, einen "Gesamt-Errorlevel" aller vorherigen "xcopy"-Vorgänge abzufragen - so wird nämlich nur der Errorlevel des letzten Kopiervorganges geprüft ...

Eine (einfache) Alternative könnte etwa so aussehen:
01.
set "Fehler=" 
02.
for /f "delims=" %%b in ('dir /b "D:\___DATEN\---DOKUMENTE---"') do xcopy /E /Y /I "D:\___DATEN\---DOKUMENTE---\%%b\*.*" "S:\ARCHIV_FILE_COPY\AFC_20120203\---DOKUMENTE---\%%b" >> D:\___LOGS\COPYARCHIV\Copy_.log || set "Fehler=True" 
03.
if defined Fehler goto ERRFCDOKUMENTE
Grüße
bastla
Bitte warten ..
Mitglied: jens2001
04.02.2012 um 23:38 Uhr
Meine Kenntnisse in Batch-Programmierung stammen noch aus der Zeit von DOS.
Kann also sein das ich nicht ganz up to Date bin....

Afaik:
Es ist nicht entscheidend aus welchem Verzeichnis heraus die .bat aufgerufend wird sondern in welchem Verzeichnis sich der Befehlsinterpreter zum Zeitpunkt des Unterprogrammaufrufs befindet.
Außerdem erinner ich mich das der Befehlsinterpreter sehr pingelich ist und sich gern mal verwirren lässt und Befehle anders interpretiert als gedacht.
Und da kann es leicht passieren das du plötzlich auf dem falschen Laufwerk landest.
Die Ausgabeumleitung " >> D:\___LOGS\COPYARCHIV\Copy_.log" kommt mir seltsam vor.
Zu DOS-Zeiten wurde eine Ausgabeumleitung nur mit einem ">" vorgenommen.
Bitte warten ..
Mitglied: bastla
04.02.2012 um 23:44 Uhr
Hallo jens2001!
Es ist nicht entscheidend aus welchem Verzeichnis heraus die .bat aufgerufend wird sondern in welchem Verzeichnis sich der Befehlsinterpreter zum Zeitpunkt des Unterprogrammaufrufs befindet.
Grundsätzlich ja - es geht einfach darum, die "exe" zu finden; wenn das nicht über "path" geht, und sich die "exe" auch nicht im aktuellen Ordner befindet, muss der komplette Pfad angegeben werden, und dann hilft es, wenn sich die "exe" im Ordner der Batchdatei befindet, da deren Pfad eben per "%~dp0" ermittelt werden kann.
Die Ausgabeumleitung " >> D:\___LOGS\COPYARCHIV\Copy_.log" kommt mir seltsam vor.
Zu DOS-Zeiten wurde eine Ausgabeumleitung nur mit einem ">" vorgenommen.
Auch damals war es schon möglich, die Zieldatei nicht jedes Mal neu zu erstellen, sondern per ">>" den neuen Text an die bestehende Datei anzufügen ...

Grüße
bastla
Bitte warten ..
Mitglied: jens2001
04.02.2012 um 23:57 Uhr
Auch damals war es schon möglich, die Zieldatei nicht jedes Mal neu zu erstellen, sondern per ">>" den
neuen Text an die bestehende Datei anzufügen ...

Stimmt! hatte ich nicht mehr auf dem Schirm.

Gruß
Jens
Bitte warten ..
Mitglied: IT-Hasi
05.02.2012 um 10:49 Uhr
Hallo Bastla (und DANKE an alle Anderen) ...

werde einmal DEINE Variante durchtesten ... zumindest kannte ich bis jetzt diese variante nicht (|| set "Fehler=True) ... optisch und vom leserlicher Verständnis auch Top ...



KOPIERT werden die 6 Datenelemente in >>> :FCCOPY ... :FCBMW ... :FCDOKUMENTE ... :FCHOMEPAGE ... :FCPRIVAT ... :FCTOOLS ... dazu gibt es jeweils einen Errorlevel (:ERRxxxxxx) ... in jedem dieser Elemente gibt es die nachangeführte Fehlerprüfung >>>

if %ERRORlevel%==0 goto FCTOOLS
goto ERRFCPRIVAT
... wobei bei erfolgreichem KOPIEREN in das nä Unterprogramm verzweigt wird, wenn NICHT erfolgreich, dann nach ERR_xxxxx mit ensprechender Fehlermeldung und von dort dann nach ENDE, Schlusssatz schreiben und fertig.


Hoffe einmal das ich das so einigermaßen rüber bringen konnte.



@HubertN >>> gemeint war hier das in dem PATH sehrwohl die "Windows\System32" drinnen steht und in dieser die Robocopy.exe. Dafür sorgen muss ich ja nicht, da dies ein Bestandteil von Vista ist und so und so nach der Installation des OS sich diese EXE dort befindet


@jens2001 >>> mit dem (>) schreibst man den ersten (gewollten) Satz in die LOG Datei ... mit (>>) hängt man die nachfolgenden daran ... auch beim 1.Logfileschreiben kann man (>>) verwenden ... sonst löscht man den Inhalt und schreibt immer wieder NUR den Satz in das Logfile was gerade passierte ... das mit dem Befehlsinterpreter verstehe ich so nicht, da sind meine Kenntnisse zu gering (noch ! ) ... Aber einmal Danke auch an DIr ...




So ganz klar ist mir die Fehlerursache allerding noch immer nicht ... WARUM man den Windows-Pfad davorsetzen muss ... Gut ... ich grüble mal weiter ...




So dann mach ich mal weiter ... Danke Euch allen für die Unterstützung, netten Sonntag noch und Grüße,



Andreas






Bitte warten ..
Mitglied: IT-Hasi
05.02.2012 um 12:00 Uhr
Zitat von bastla:
Hallo IT-Hasi und willkommen im Forum!

Deine Zeile 16 ist etwas "optimistisch" - zumindest, wenn Du damit versuchen solltest, einen
"Gesamt-Errorlevel" aller vorherigen "xcopy"-Vorgänge abzufragen - so wird nämlich nur der
Errorlevel des letzten Kopiervorganges geprüft ...

Eine (einfache) Alternative könnte etwa so aussehen:
01.
set "Fehler=" 
02.
> for /f "delims=" %%b in ('dir /b "D:\___DATEN\---DOKUMENTE---"') do xcopy /E /Y /I 
03.
> "D:\___DATEN\---DOKUMENTE---\%%b\*.*" "S:\ARCHIV_FILE_COPY\AFC_20120203\---DOKUMENTE---\%%b" >> 
04.
> D:\___LOGS\COPYARCHIV\Copy_.log || set "Fehler=True" 
05.
> if defined Fehler goto ERRFCDOKUMENTE 
06.
> 
Grüße
bastla


Hallo Bastla,

so hab mal deine Variante getestet ... mag ja für das DOS/COPY/XCOPY funken ... jedoch ROBOCOPY hat im Errorlevel 0 + 1 für erfolgreiches kopieren (halt mit kleinen Abweichungen) ...

Komme da aber dann in meine Fehlerroutine ... hab beide Eigenschaftsfenster kontrolliert ... da wird wirklich alles einwandfrei kopiert ... den Auszug des ERRORLEVEL`s von ROBOCOPY anbei ...

Bastle mal weiter


Nette Grüße, Andreas ...






RETURN CODEs von RoboCopy ...
HEX BIT Comments
0x10 16 Serious error. Robocopy did not copy any files. This is either a usage error or an error due to insufficient access privileges on the source or destination directories.
0x08 8 Some files or directories could not be copied (copy errors occurred and the retry limit was exceeded). Check these errors further.
0x04 4 Some Mismatched files or directories were detected. Examine the output log. Housekeeping is probably necessary.
0x02 2 Some Extra files or directories were detected. Examine the output log. Some housekeeping may be needed.
0x01 1 One or more files were copied successfully (that is, new files have arrived).
0x00 0 No errors occurred, and no copying was done. The source and destination directory trees are completely synchronized.
Bitte warten ..
Mitglied: bastla
05.02.2012 um 19:46 Uhr
Hallo IT-Hasi!
mag ja für das DOS/COPY/XCOPY funken ... jedoch ROBOCOPY hat im Errorlevel 0 + 1 für erfolgreiches kopieren (halt mit kleinen Abweichungen) ...
... und ich hatte das, was in Deiner Zeile 14 durch die Schleife mehrfach stattfindet (und von dem in Zeile 16 nur der Errorlevel des letzten Kopiervorganges geprüft werden kann) doch glatt für "xcopy" gehalten ...

Oder nochmals deutlicher: Es ging mir darum, dass nach der Schleife nur der Errorlevel des letzten in der Schleife durchgeführten Vorganges verfügbar ist - wenn also beim zweiten von sechs Kopiervorgängen ein Errorlevel <> 0 zurückgegeben wurde, kann das Deine Zeile 16 nicht erkennen, weswegen ich vorgeschlagen hatte, nach jedem einzelnen "xcopy" den Errorlevel zu prüfen, damit auch schon beim Auftreten eines einzigen Fehlers die Variable %Fehler% nicht mehr leer ist und nach der Schleife entsprechend reagiert werden kann.

Um das Ganze für "robocopy" anzupassen, müsstest Du eben per "delayedexpansion" jeweils noch in der Schleife "!errorlevel!" mit einem "if" abfragen oder "if errorlevel" verwenden - dann aber darauf achten, dass damit auf "größer-gleich" getestet wird.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
05.02.2012 um 22:01 Uhr
....oder, etwas anders ausgedrückt, IT-Hasi,

du bist jetzt schon schon zum zweiten Mal darauf angesprochen worden, dass du zwar im Beitragstitel immer von Robocopy erzählst, aber in den geposteten Codefragmenten gar kein Robocopy-Aufruf zu sehen ist.

Falls dein Sichere-mit-Robocopy-Schnipsel eventuell noch bis zur endgültigen Prüfung durch Patentamt und/oder Nobelpreis-Komittee unter Verschluss gehalten werden muss - okay.

Ist ja auch eine ähnlich schützenswerte innovation wie es Fernsprecher zum Selbstwählen oder Empfangsgeräte für Tonfilme sind.

Aber wir können doch nur die eventuellen Sollbruchstellen finden, die du uns hier auch postest.

Poste den ganzen Schnipsel, dann können wir schon sagen "Ja nee, Zeile 17-24 werden eh nie erreicht weil wegen.." oder ähnliches.
Und mag ja sein, dass eine Errorlevel-Abfrage einer Serie von Robocopy-Läufen wenig Sinn macht, aber dann liegt ja dennoch das erzeugte Logfile vor, in dem nach den für dich interessanten Fehlertexten gesucht werden kann.

Die Redmonder ProaktikantInnen sind da genauso berechenbar wie ihre hiesigen Unterschleißpappenheimer - das finden wir dann also schon.

Grüße
Biber
Bitte warten ..
Mitglied: IT-Hasi
06.02.2012 um 06:56 Uhr
Hallo Bastla,

OK sorry für das umständliche hier ... werde deinen Vorschlag Abends mit dem XCOPY einmal testen ...

Danke & Grüße, Andreas
Bitte warten ..
Mitglied: IT-Hasi
06.02.2012 um 07:03 Uhr
Hallo Biber,

und ja DU hast da auch natürlich Recht ... wir sprachen da von mehreren Dingen, Bezug nahm ich auf den Teil den ich getestet habbe ... und der war mit XCOPY ...

Fiel mir in den vergangenen Tag schon auf, das du jemand bist, der Dinge dann etwas substiler auf die Reihe kriegt ...

Um Dir da natürlich auch gerecht werden zu können, komme ich Deinem Wunsch auch nach, das ganze Fragment einmal zu posten ...


Als dann, Bitte sehr ...


Netten Tag & Gruß, Andreas ...


01.
echo on 
02.
:: Codepage 1252 starten ... so werden die LOG Einträge auch mit den Umlauten richtig gesetzt ...  
03.
CHCP 1252 
04.
:: 
05.
:: 
06.
:: getdate1 = TT-MM-JJJJ (für JobLog) 
07.
set getdate1=%date:~0,2%-%date:~3,2%-%date:~6,4% 
08.
:: 
09.
:: getdate2 = JJJJMMTT (für Verzeichnisbenennung) 
10.
set getdate2=%date:~6,4%%date:~3,2%%date:~0,2% 
11.
:: 
12.
set gettime=%time:~-11,2%:%time:~-8,2%:%time:~-5,2% 
13.
:: 
14.
set path=S:\ARCHIV_FILE_COPY\ 
15.
:: 
16.
set AFC=AFC_%getdate2% 
17.
:: 
18.
:: Fehlerprüfungsvariante 
19.
::set "Fehler=" 
20.
:: 
21.
goto RENAMELOG 
22.
:: -------------------------------------------------- 
23.
 
24.
 
25.
 
26.
 
27.
 
28.
:RENAMELOG 
29.
:: ----------------------- 
30.
:: Das alte Log umbenennen 
31.
:: ----------------------- 
32.
echo J| move "D:\___LOGS\COPYARCHIV\Copy_.log" "D:\___LOGS\COPYARCHIV\ARCHIV\CopyArchiv_%getdate2%.log" 
33.
:: 
34.
goto HEADER 
35.
 
36.
 
37.
 
38.
 
39.
 
40.
 
41.
:HEADER 
42.
echo.								    	>> D:\___LOGS\COPYARCHIV\Copy_.log 
43.
echo.								    	>> D:\___LOGS\COPYARCHIV\Copy_.log 
44.
echo.								    	>> D:\___LOGS\COPYARCHIV\Copy_.log 
45.
echo.								    	>> D:\___LOGS\COPYARCHIV\Copy_.log 
46.
echo.								    	>> D:\___LOGS\COPYARCHIV\Copy_.log 
47.
echo.								    	>> D:\___LOGS\COPYARCHIV\Copy_.log 
48.
echo ------------------------------------------------------------------------------------------------ 	>> D:\___LOGS\COPYARCHIV\Copy_.log 
49.
echo *************************************************************** 	>> D:\___LOGS\COPYARCHIV\Copy_.log 
50.
echo.								    	>> D:\___LOGS\COPYARCHIV\Copy_.log 
51.
echo Date:	%getdate1% - %gettime%					>> D:\___LOGS\COPYARCHIV\Copy_.log 
52.
echo.								    	>> D:\___LOGS\COPYARCHIV\Copy_.log 
53.
echo *************************************************************** 	>> D:\___LOGS\COPYARCHIV\Copy_.log 
54.
echo ------------------------------------------------------------------------------------------------ 	>> D:\___LOGS\COPYARCHIV\Copy_.log 
55.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
56.
echo *** S A V E   A R C H I V   F I L E   C O P Y ***			>> D:\___LOGS\COPYARCHIV\Copy_.log 
57.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
58.
echo *** monatliches XCOPY für gelöschte Files                   	>> D:\___LOGS\COPYARCHIV\Copy_.log 
59.
echo *** Jeden 1. Sonntag im Monat - Uhrzeit: 06:00:00 			>> D:\___LOGS\COPYARCHIV\Copy_.log 
60.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
61.
echo ------------------------------------------------------------------------------------------------ 	>> D:\___LOGS\COPYARCHIV\Copy_.log 
62.
echo.								    	>> D:\___LOGS\COPYARCHIV\Copy_.log 
63.
echo.								    	>> D:\___LOGS\COPYARCHIV\Copy_.log 
64.
echo.								    	>> D:\___LOGS\COPYARCHIV\Copy_.log 
65.
goto CREATEARCHIV 
66.
 
67.
 
68.
 
69.
 
70.
 
71.
 
72.
:CREATEARCHIV 
73.
:: 
74.
IF EXIST "S:\ARCHIV_FILE_COPY\AFC_%getdate2%" goto DELETEDIR 
75.
:: 
76.
md "S:\ARCHIV_FILE_COPY\AFC_%getdate2%" 						>> D:\___LOGS\COPYARCHIV\Copy_.log 
77.
echo "S:\ARCHIV_FILE_COPY\AFC_%getdate2%" wurde erstellt ... 				>> D:\___LOGS\COPYARCHIV\Copy_.log 
78.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
79.
:: 
80.
echo. 
81.
echo. 
82.
goto ARCHIVFILECOPY 
83.
 
84.
 
85.
 
86.
 
87.
 
88.
:DELETEDIR 
89.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
90.
echo Bestehendes ARCHIV Verzeichnis [AFC_%getdate2%] wird gelöscht !!!			>> D:\___LOGS\COPYARCHIV\Copy_.log 
91.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
92.
:: 
93.
for /f "delims=" %%a in ('dir /b "S:\ARCHIV_FILE_COPY\AFC_%getdate2%"') do rd /S/Q "S:\ARCHIV_FILE_COPY\AFC_%getdate2%\%%a" >> D:\___LOGS\COPYARCHIV\Copy_.log 
94.
:: 
95.
rmdir /Q "S:\ARCHIV_FILE_COPY\AFC_%getdate2%" >> D:\___LOGS\COPYARCHIV\Copy_.log 
96.
:: 
97.
if %ERRORlevel%==0 goto CREATEARCHIV 
98.
goto ERRDELETEDIR 
99.
 
100.
 
101.
 
102.
 
103.
 
104.
 
105.
:ARCHIVFILECOPY 
106.
goto FCCOPY 
107.
:: 
108.
:: 
109.
:: 
110.
:FCCOPY 
111.
echo.								    	>> D:\___LOGS\COPYARCHIV\Copy_.log 
112.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
113.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
114.
echo *** QUELLE: [D:]___DATEN\___COPY] ***                          	>> D:\___LOGS\COPYARCHIV\Copy_.log 
115.
echo *** ZIEL:   [S:]Archiv_file_Copy] ***                              >> D:\___LOGS\COPYARCHIV\Copy_.log 
116.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
117.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
118.
:: 
119.
:: 
120.
:: 
121.
if %ERRORlevel%==0 goto FCBMW 
122.
goto ERRFCCOPY 
123.
 
124.
 
125.
 
126.
 
127.
 
128.
:FCBMW 
129.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
130.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
131.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
132.
echo *** QUELLE: [D:]___DATEN\---BMW_E34---] ***                     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
133.
echo *** ZIEL:   [S:]Archiv_file_Copy] ***                              >> D:\___LOGS\COPYARCHIV\Copy_.log 
134.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
135.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
136.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
137.
:: 
138.
:: 
139.
:: 
140.
if %ERRORlevel%==0 goto FCDOKUMENTE 
141.
goto ERRFCBMW 
142.
 
143.
 
144.
 
145.
 
146.
 
147.
:FCDOKUMENTE 
148.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
149.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
150.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
151.
echo *** QUELLE: [D:]___DATEN\---DOKUMENTE---] ***                   	>> D:\___LOGS\COPYARCHIV\Copy_.log 
152.
echo *** ZIEL:   [S:]Archiv_File_Copy] ***                              >> D:\___LOGS\COPYARCHIV\Copy_.log 
153.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
154.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
155.
:: 
156.
:: 
157.
:: 
158.
If %ERRORlevel%==0 goto FCHOMEPAGE 
159.
goto ERRFCDOKUMENTE 
160.
 
161.
 
162.
 
163.
 
164.
 
165.
:FCHOMEPAGE 
166.
echo.								    	>> D:\___LOGS\COPYARCHIV\Copy_.log 
167.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
168.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
169.
echo *** QUELLE: [D:]___DATEN\---MY_HOMEPAGE---] ***                 	>> D:\___LOGS\COPYARCHIV\Copy_.log 
170.
echo *** ZIEL:   [S:]Archiv_File_Copy] ***                              >> D:\___LOGS\COPYARCHIV\Copy_.log 
171.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
172.
:: 
173.
:: 
174.
:: 
175.
if %ERRORlevel%==0 goto FCPRIVAT 
176.
goto ERRFCHOMEPAGE 
177.
 
178.
 
179.
 
180.
 
181.
 
182.
:FCPRIVAT 
183.
echo.									>> D:\___LOGS\COPYARCHIV\Copy_.log 
184.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
185.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
186.
echo *** QUELLE: [D:]___DATEN\---P R I V A T---] ***                 	>> D:\___LOGS\COPYARCHIV\Copy_.log 
187.
echo *** ZIEL:   [S:]Archiv_File_Copy] ***                              >> D:\___LOGS\COPYARCHIV\Copy_.log 
188.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
189.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
190.
:: 
191.
:: 
192.
:: 
193.
if %ERRORlevel%==0 goto FCTOOLS 
194.
goto ERRFCPRIVAT 
195.
 
196.
 
197.
 
198.
 
199.
 
200.
:FCTOOLS 
201.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
202.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
203.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
204.
echo *** QUELLE: [D:]___DATEN\---TOOLS---] ***                       	>> D:\___LOGS\COPYARCHIV\Copy_.log 
205.
echo *** ZIEL:   [S:]Archiv_File_Copy] ***                              >> D:\___LOGS\COPYARCHIV\Copy_.log 
206.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
207.
echo.								     	>> D:\___LOGS\COPYARCHIV\Copy_.log 
208.
:: 
209.
C:\Windows\System32\robocopy /E /LOG+:D:\___LOGS\COPYARCHIV\Copy_.log /NFL /NDL /NJH "D:\___daten\---TOOLS---" "S:\ARCHIV_FILE_COPY\%afc%\---TOOLS---" 
210.
::|| set "Fehler=True" 
211.
:: /NFL /NDL /NJH /NJS 
212.
if not %ERRORlevel%==2 goto ENDE 
213.
goto ERRFCTOOLS 
214.
::if defined Fehler goto ERRFCTOOLS 
215.
::goto ENDE 
216.
 
217.
 
218.
 
219.
 
220.
 
221.
 
222.
:ERRCREATEARCHIV 
223.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
224.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
225.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
226.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
227.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
228.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
229.
echo "FEHLER beim [:CREATEARCHIV]"							>> D:\___LOGS\COPYARCHIV\Copy_.log 
230.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
231.
echo Verzeichnis konnte nicht erstellt werden 						>> D:\___LOGS\COPYARCHIV\Copy_.log 
232.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
233.
echo Programm wird OHNE COPY beendet ... 						>> D:\___LOGS\COPYARCHIV\Copy_.log 
234.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
235.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
236.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
237.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
238.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
239.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
240.
goto ENDE 
241.
 
242.
 
243.
 
244.
 
245.
 
246.
:ERRFCCOPY 
247.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
248.
echo "Fehler beim File kopieren [COPY] ... " 						>> D:\___LOGS\COPYARCHIV\Copy_.log 
249.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
250.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
251.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
252.
goto FCBMW 
253.
 
254.
 
255.
 
256.
:ERRFCBMW 
257.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
258.
echo "Fehler beim File kopieren [BMW] ... " 						>> D:\___LOGS\COPYARCHIV\Copy_.log 
259.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
260.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
261.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
262.
goto FCDOKUMENTE 
263.
 
264.
 
265.
 
266.
:ERRFCDOKUMENTE 
267.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
268.
echo "Fehler beim File kopieren [DOKUMENTE] ... " 					>> D:\___LOGS\COPYARCHIV\Copy_.log 
269.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
270.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
271.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
272.
goto FCHOMEPAGE 
273.
 
274.
 
275.
 
276.
:ERRFCHOMEPAGE 
277.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
278.
echo "Fehler beim File kopieren [HOMEPAGE] ... " 					>> D:\___LOGS\COPYARCHIV\Copy_.log 
279.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
280.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
281.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
282.
goto FCPRIVAT 
283.
 
284.
 
285.
 
286.
:ERRFCPRIVAT 
287.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
288.
echo "Fehler beim File kopieren [PRIVAT] ... " 						>> D:\___LOGS\COPYARCHIV\Copy_.log 
289.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
290.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
291.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
292.
goto FCTOOLS 
293.
 
294.
 
295.
 
296.
:ERRFCTOOLS 
297.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
298.
echo "Fehler beim File kopieren [TOOLS] ... " 						>> D:\___LOGS\COPYARCHIV\Copy_.log 
299.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
300.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
301.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
302.
goto ENDE	 
303.
 
304.
 
305.
 
306.
 
307.
:ERRORDELETEDIR 
308.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
309.
echo "Fehler beim VZ/AFC_%getdate2% löschen ..." 					>> D:\___LOGS\COPYARCHIV\Copy_.log 
310.
echo ------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
311.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
312.
echo.											>> D:\___LOGS\COPYARCHIV\Copy_.log 
313.
goto ENDE 
314.
 
315.
 
316.
 
317.
 
318.
 
319.
:ENDE 
320.
echo.								>> D:\___LOGS\COPYARCHIV\Copy_.log 
321.
echo.								>> D:\___LOGS\COPYARCHIV\Copy_.log 
322.
echo.								>> D:\___LOGS\COPYARCHIV\Copy_.log 
323.
echo ---------------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
324.
echo Autor: (C) 2012 ----------                               >> D:\___LOGS\COPYARCHIV\Copy_.log 
325.
echo Datum:  03.02.2012 - 06:10                                 >> D:\___LOGS\COPYARCHIV\Copy_.log 
326.
echo ---------------------------------------------------------------------------------------	>> D:\___LOGS\COPYARCHIV\Copy_.log 
327.
echo.								>> D:\___LOGS\COPYARCHIV\Copy_.log 
328.
echo.								>> D:\___LOGS\COPYARCHIV\Copy_.log 
329.
echo.								>> D:\___LOGS\COPYARCHIV\Copy_.log 
330.
:: 
331.
PAUSE 
332.
echo :::ENDE:::							>> D:\___LOGS\COPYARCHIV\Copy_.log
[Edit Biber] Codeformatierung. [/Code]
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...