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
Kommentar vom Moderator Dani am 20.04.2011 um 11:39:52 Uhr
Formatierungen hinzugefügt.
GELÖST

Robocopy Fehler 123 bei automatisiertem PST Backup

Frage Entwicklung Batch & Shell

Mitglied: mosepe

mosepe (Level 1) - Jetzt verbinden

20.04.2011, aktualisiert 11:39 Uhr, 8433 Aufrufe, 22 Kommentare

Hi,

nachdem ich mir bereits viele nützliche Tipps auf dieser Seite für Batchfiles etc. geholt habe, stelle ich nun selbst eine Frage da ich entweder falsch danach Suche oder diese einfach nicht existiert.

Schreibe gerade an einer Batchfile zur Sicherung aller lokalen Daten der User auf ein extra dafür angelegtes Share.
Funktioniert alles soweit so gut, jedoch hapert es bei der von mir eingebauten Funktion zur automatischen Suche von .pst Dateien und deren anschließende Sicherung.

Hier nun ein kleiner Auszug aus besagter Batchdatei.
01.
:PST 
02.
set dir=c:\ 
03.
set file=*.pst 
04.
set endung=.pst 
05.
set ms=%time:~9,2% 
06.
set zeit=%date%_%ms%ms 
07.
for /r "%dir%" %%i in ("%file%") do ( 
08.
if exist %%i robocopy "%%i" "%bckdrv%%bckdir%\%%~ni%endung%_%zeit%" /E) 
09.
goto Sicherung
Ich will bei diesem Vorgang alle Lokal befindlichen Outlook-Archivdateien finden und diese dann sichern, wobei hier die gesamte Ordnerstruktur mitkopiert werden soll um : 1. dem User einen Prompt zu ersparen, 2. sollten gleichnamige Dateien vorhanden sein (z.B. Archiv.pst) die aber dann meist in Ordnern wie z.B. 2008,2009,2010... etc liegen, eben durch die Kopie der Ordnerstruktur nicht kollidieren zu lassen.

Allerdings spuckt mir hier robocopy den Fehler 123 aus.
Siehe auszug aus LOG
01.
------------------------------------------------------------------------------- 
02.
   ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010 
03.
------------------------------------------------------------------------------- 
04.
 
05.
  Started : Wed Apr 20 11:19:32 2011 
06.
 
07.
   Source : C:\Users\001150594\Desktop\pstpst.pst\ 
08.
     Dest : x:\001150594\pstpst.pst_20.04.2011_79ms\ 
09.
 
10.
    Files : *.* 
11.
 
12.
  Options : *.* /S /E /COPY:DAT /R:1000000 /W:30 
13.
 
14.
------------------------------------------------------------------------------ 
15.
 
16.
2011/04/20 11:19:32 ERROR 123 (0x0000007B) Accessing Source Directory C:\Users\001150594\Desktop\pstpst.pst\ 
17.
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.
Der Fehler ist ersichtlich, er will hier auf ein Verzeichnis zzgreiffen das nicht vorhanden sein kann, da besagte Datei - eben eine solche ist.

Komme leider nicht auf einen grünen Zweig, hatte dieses kurze Skriptstückchen von irgendeiner Webseite, hier war es mit xcopy gelöst, da ich aber auch hier keinen Weg gefunden habe die Ordnerstruktur ordentlich zu übertragen habe ich auf robocopy umgesattelt.

Ich bitte um eure Hilfe.

lg
Mitglied: bastla
20.04.2011 um 11:44 Uhr
Hallo mosepe und willkommen im Forum!

Versuch es mit der folgenden Zeile 8
robocopy "%%~dpi" "%bckdrv%%bckdir%\%%~ni%endung%_%zeit%" *%endung% /E)
(die ich allerdings gleich an die Zeile 7 anfügen würde) ...
[Edit] Da als Ziel ja ein Ordner angegeben wird, eher:
robocopy "%%~dpi" "%bckdrv%%bckdir%_%zeit%" *%endung% /E)
[/Edit]
Mit "%%~dpi" wird nicht der Pfad der Datei selbst, sondern der des Ordners, in dem sie sich befindet, verwendet (siehe dazu "for /?", ziemlich gegen Ende).

BTW: Das "if" vorneweg war sinnfrei, da die Zeile 8 nur ausgeführt wird, wenn eine passende Datei gefunden wurde ...

Grüße
bastla

[Edit] Anmerkung: Ursprünglich wurde "xcopy" verwendet - damit war auch ein Umbenennen der Datei möglich; mit "robocopy" werden allerdings grundsätzlich Ordner kopiert - Alternative:
xcopy "%%i" "%bckdrv%%bckdir%\%%~nxi_%zeit%*")
[/Edit]
Bitte warten ..
Mitglied: ackerdiesel
20.04.2011 um 11:45 Uhr
Hallo,

das Problem wird sein, das Robocopy nur Verzeichnisse aber keine einzelnen Files kopieren kann. Die pst datei musst Du mit dem Schalter "/XF" einbinden. Also ungefähr so:

robocopy "%%i" "%bckdrv%%bckdir%\%%~n /XF: *.%endung" /E

Aus dem Kopf raus, habe es jetzt allerdings nicht ausprobiert.

Gruß
ackerdiesel
Bitte warten ..
Mitglied: 99045
20.04.2011 um 11:48 Uhr
Hi,

nimm mal in Zeile 7 und 8 die Backslashes am Ende des Pfades weg.

Gruß
Bitte warten ..
Mitglied: mosepe
20.04.2011 um 12:17 Uhr
sieht nun so aus

for /r "%dir%" %%i in ("%file%") do (robocopy "%%~dpi" "%bckdrv%%bckdir%\%%~ni%endung%_%zeit%" *%endung% /E)

und ergibt

ERROR : Invalid Parameter #1 : "c:\Users\001150594\Documents" x:\001150594\pstdatei.pst_20.04.2011_27ms *
.pst /E"
Bitte warten ..
Mitglied: mosepe
20.04.2011 um 12:19 Uhr
auch hier leider eini fehler,

ERROR : Invalid Parameter #2 : "x:\001150594\%~n /XF: *.pst"
Bitte warten ..
Mitglied: mosepe
20.04.2011 um 12:21 Uhr
Hier passiert dann garnix, und er fährt mit dem weiteren Skript an..
Bitte warten ..
Mitglied: bastla
20.04.2011 um 12:22 Uhr
Hallo mosepe!

Versuch es entweder mit der "xcopy"-Version (Vorteil: Umbenennung der Datei) oder so:
robocopy "%%i\.." "%bckdrv%%bckdir%_%zeit%" *%endung% /E)
Grüße
bastla
Bitte warten ..
Mitglied: mosepe
20.04.2011 um 12:24 Uhr
[Edit] Anmerkung: Ursprünglich wurde "xcopy" verwendet - damit war auch ein Umbenennen der Datei möglich;
mit "robocopy" werden allerdings grundsätzlich Ordner kopiert - Alternative:
xcopy "%%i" "%bckdrv%%bckdir%\%%~nxi_%zeit%*") 
> 
[/Edit]

Auch hier wie bei der von Kaputtnick beschriebenen Variante passiert garnix..

Frage, soll nun das if gelöscht werden ?
Bitte warten ..
Mitglied: Skyemugen
20.04.2011 um 12:26 Uhr
Aloha,

warum robocopy?

Wenn ich das richtig sehe, kopierst du damit nur Dateien, da %%i doch folgende Informationen enthält:
C:\Irgend\Ein\Pfad\Datei.pst 
C:\Irgend\Ein\Anderer\Pfad\Datei.pst 
C:\Irgend\Wo\Datei.pst
Wobei robocopy wahrscheinlich nur den letzten Eintrag kopieren wird, nehme ich an ...
Ich bin mir momentan nicht sicher, kann robocopy einfach nur Datei zu Zielverzeichnis kopieren?

Warum hast du xcopy (darauf ist der code eher ausgelegt - siehe das EDIT bei bastla) nicht gelassen?

An sich kann ich den Fehler, warum robocopy backslashes hinzufügt nicht nachvollziehen ... eventuell macht es das aber wirklich, weil es generell auf Verzeichnisse ausgelegt ist ...

greetz André
Bitte warten ..
Mitglied: mosepe
20.04.2011 um 12:32 Uhr
Diese Variante funktioniert, allerdings kopiert er die pst-Dateien direkt in den Sicherungsordner, der jetzt komischerweise den Usernamen statt des Dateinamens trägt und erstellt darin die Ordnerstruktur die im Datei-Ort vorhanden ist.
Also fehlt jetzt noch eine Ordnerstruktur darüber denk ich..
Bitte warten ..
Mitglied: bastla
20.04.2011 um 12:32 Uhr
Hallo mosepe!

Die Zeile 7 sollte dann so aussehen:
for /r "%dir%" %%i in ("%file%") do xcopy "%%i" "%bckdrv%%bckdir%\%%~nxi_%zeit%*"
(überflüssige Klammern eingespart) ...

Grüße
bastla
Bitte warten ..
Mitglied: mosepe
20.04.2011 um 12:34 Uhr
Für Alle hier

DAS ORIGINAL DER PST SICHERUNG

@echo off
REM Variablen Setzen
set dir=c:\
REM !!BITTE ENTSPRECHEND ANPASSEN!!
set file=*.pst
set endung=.pst
set pfad=C:\Data
REM Erstellung der Zeitvariable
set h=%time:~0,2%
set m=%time:~3,2%
set s=%time:~6,2%
set ms=%time:~9,2%
set zeit=%date%_%h%h%m%m%s%s%ms%ms
REM Sucht nach Dateien und kopiert diese in einen Unterordner im oben angegebenen
REM Verzeichnis. Der Name des Unterordner Setzt sich aus
REM "Dateiname_Dateiendung_Datum_Uhrzeit mit milisekunde" zusammen.
for /r "%dir%" %%i in ("%file%") do (
if exist %%i xcopy "%%i" "%pfad%\%%~ni%endung%_%zeit%\" /V /S /I)

Props an den Ersteller, wo auch immer er im WWW sein mag ;)
Bitte warten ..
Mitglied: bastla
20.04.2011 um 12:37 Uhr
Hallo mosepe!
Also fehlt jetzt noch eine Ordnerstruktur darüber denk ich..
Dann etwa so:
for /r "%dir%" %%i in ("%file%") do xcopy "%%i" "%bckdrv%%bckdir%%%~pi%%~nxi_%zeit%*"
Grüße
bastla
Bitte warten ..
Mitglied: mosepe
20.04.2011 um 12:37 Uhr
sah vielversprechend aus, aber irgendetwas passt noch nicht

pstdatei.pst pstdatei.pst_20.04.2011_37ms*
Zweiter Dateiname konnte nicht so erweitert werden, dass er zum ersten passt.
Bitte warten ..
Mitglied: mosepe
20.04.2011 um 12:40 Uhr
hmmm.. schön langsam glaub ich das wird nix mit dem skript wie ichs geplant hatte

Verzeichnis kann nicht erstellt werden - X:\001150594c:
0 Datei(en) kopiert
Fehler beim Erstellen der Datei - Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbez
eichnung ist falsch.
Bitte warten ..
Mitglied: bastla
20.04.2011 um 12:43 Uhr
Hallo mosepe!

Einen hab ich noch:
for /r "%dir%" %%i in ("%file%") do xcopy "%%i" "%bckdrv%%bckdir%%%~pni_%zeit%%%~xi*"
bzw kürzer:
for /r "%dir%" %%i in ("%file%") do xcopy "%%i" "%bckdrv%%bckdir%%%~pni_%zeit%.*"
- hätte den zusätzlichen Effekt, dass der Dateityp erhalten bleibt ...

Grüße
bastla
Bitte warten ..
Mitglied: bastla
20.04.2011 um 12:46 Uhr
Hallo mosepe!

Da warst Du um einige Sekunden zu schnell (konkret: bevor ich "%%~di" auf "%%~pi" korrigiert hatte).

Sollte jetzt aber egal sein - siehe weiter unten (12:43:50 Uhr) ...

Grüße
bastla
Bitte warten ..
Mitglied: 99045
20.04.2011 um 12:51 Uhr
Speziell für mosepe

Auch du könntest die Formatierungshilfe im Eingabefenster nutzen, um den Code formatiert auszugeben.
Bitte warten ..
Mitglied: mosepe
20.04.2011 um 12:58 Uhr
ES FUNKTIONIERT. MUAHAHAHAHA !

VIELEN DANK!
Bitte warten ..
Mitglied: Biber
20.04.2011 um 13:19 Uhr
[OT] @99045
Zitat von 99045:
Speziell für mosepe

Auch du könntest die Formatierungshilfe im Eingabefenster nutzen, um den Code formatiert auszugeben.

Im Prinzip ja.
Aber bei diesem Prachtstück sieht es auch codeformatiert grottig aus
01.
 
02.
@echo off 
03.
REM Variablen Setzen 
04.
set dir=c:\ 
05.
REM !!BITTE ENTSPRECHEND ANPASSEN!! 
06.
set file=*.pst 
07.
set endung=.pst 
08.
set pfad=C:\Data 
09.
REM Erstellung der Zeitvariable 
10.
set h=%time:~0,2% 
11.
set m=%time:~3,2% 
12.
set s=%time:~6,2% 
13.
set ms=%time:~9,2% 
14.
set zeit=%date%_%h%h%m%m%s%s%ms%ms 
15.
REM Sucht nach Dateien und kopiert diese in einen Unterordner im oben angegebenen 
16.
REM Verzeichnis. Der Name des Unterordner Setzt sich aus  
17.
REM "Dateiname_Dateiendung_Datum_Uhrzeit mit milisekunde" zusammen. 
18.
for /r "%dir%" %%i in ("%file%") do ( 
19.
if exist %%i xcopy "%%i" "%pfad%\%%~ni%endung%_%zeit%\" /V /S /I)
[/OT]

P.S.
set zeit=%date%_%h%h%m%m%s%s%ms%ms
*laaaaaaaaaaaaaaaaaaaaach*
Bitte warten ..
Mitglied: mosepe
20.04.2011 um 14:16 Uhr
Hier der nun funktionierende PST-Sicherungsteil des allgemeinen Sicherungsskripts.

:PST
set dir=c:\
set file=*.pst
set endung=.pst
set ms=%time:~9,2%
set zeit=%date%_%ms%ms
for /r "%dir%" %%i in ("%file%") do xcopy "%%i" "%bckdrv%%bckdir%%%~pni.*"
goto Sicherung
Bitte warten ..
Mitglied: mosepe
20.04.2011 um 14:27 Uhr
hoffe nur das ich das auf win2k, vista so benützen kann..muss ich noch durchtesten.

win7 gehts !
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
gelöst BackupExec 2016 Fehler beim Backup von Windows 2016 (1)

Frage von Looser27 zum Thema Windows Server ...

Vmware
Veeam für VM Ware Backup Fehler (2)

Frage von JoergN1968 zum Thema Vmware ...

Backup
gelöst Symantec Backup Exec 2015: Fehler beim Sichern der Exchange-Datenbanken (4)

Frage von 10TechFlo64 zum Thema Backup ...

Backup
gelöst Sicherung auf USB Festplatte mit Acronis Backup und Robocopy (5)

Frage von mike7050 zum Thema Backup ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...