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
GELÖST

Batch-Datei xcopy Errorlevel

Frage Entwicklung Batch & Shell

Mitglied: dynastie

dynastie (Level 1) - Jetzt verbinden

04.07.2006, aktualisiert 05.07.2006, 24759 Aufrufe, 4 Kommentare

[Edit] Auf "Gelöst" gesetzt und aus "Entwicklung" den Bereich "Batch & Shell" verschoben
Biber, Mod
[/Edit]

Hallo,

ich habe ein kleines Problem mit dem Befehl xcopy. Ich möchte gerne den Errorlevel verwenden, um im Fehlerfalle die .bat abzubrechen. Zur Kontrolle gebe ich die Errorlevel zunächst auf dem Bildschirm aus. Leider gibt das Ding mir immer 0 aus. In einem Falle gibt er mir 0,1,2,3,4 aus. Die zu kopierende Datei war im Quellverzeichnis nicht vorhanden. Sollte er in meinem Falle nicht 1 ausgeben (keine Dateien zum kopieren gefunden)?

Also irgendwie hab ich da wohl was falsch verstanden. Kann mir jemand erklären wie ich mit den Errorleveln umgehe? Er soll eben beim Errorlevel = 0 (ohne Fehler kopiert lt. Doku) weitermachen. In allen anderen Fällen, soll er die .bat verlassen.

xcopy c:\Quellverzeichnis\zukopierendeDatei.datei c:\Zielverzeichnis /C /D /E /H /R /Y /F 1>>%LOG_FILE_NAME% 2>>&1
echo.
if errorlevel 0 echo 0
if errorlevel 1 echo 1
if errorlevel 2 echo 2
if errorlevel 3 echo 3
if errorlevel 4 echo 4
if errorlevel 5 echo 5
pause


Danke.

Gruß

Tatjana
Mitglied: Biber
04.07.2006 um 17:07 Uhr
Moin dynastie,

Du musst den Errorlevel in absteigender Reihenfolge prüfen.

Denn "if errorlevel 0" bedeutet nicht "wenn ErrorLevel gleich 0" , sondern "wenn ErrorLevel MINDESTENS 0".

Also mach es so herum:
01.
Xcopy...bla... 
02.
if errorlevel 5 echo 5 
03.
if errorlevel 4 echo 4 
04.
if errorlevel 3 echo 3 
05.
if errorlevel 2 echo 2 
06.
if errorlevel 1 echo 1 
07.
if errorlevel 0 echo 0
...und von da an vereinfachen.
01.
if errorlevel 5 echo 5 ...aber den gibts gar nicht bei XCopy... 
02.
if errorlevel 4 echo 4 ---richtig doller Fehler... zu wenig Hauptspeicher zum Kopieren 
03.
if errorlevel 3 echo 3  
04.
if errorlevel 2 echo 2 ---Problem vor dem Bildschirm...Syntaxfehler 
05.
if errorlevel 1 echo 1  && goto irgendeinFehler 
06.
if errorlevel 0 echo 0 alles Prima 
07.
goto Normalweiter 
08.
 
09.
:irgendeinFehler 
10.
@Echo Xcopy ging in die Grütze...ich hör auf 
11.
goto :eof 
12.
 
13.
:NormalWeiter 
14.
@echo ...habs geschafft, soll ich noch mal? 
15.
pause
Hope That Helps
Biber
Bitte warten ..
Mitglied: dynastie
05.07.2006 um 11:55 Uhr
Hallo,

danke für die Antwort. Das trifft's mein Problem nicht so ganz. Mittlerweile bin ich bei diesem Code angekommen:


echo Bitte warten ...
xcopy C:\Quellverzeichnis\Quelldatei.mdb c:\Zielverzeichnis /C /D /E /H /R /Y /F /I 1>>%LOG_FILE_NAME% 2>>&1
echo.
echo %errorlevel%
if %errorlevel%==0 goto KOPIERENOK
if not %errorlevel%==0 goto KOPIERENFEHLER
pause

:KOPIERENFEHLER
echo Beim Kopieren der Datei Quelldatei.mdb ist ein Fehler aufgetreten.
pause
exit

Das funktioniert soweit. Aber nun habe ich das Problem, dass wenn das Zielverzeichnis nicht existiert, gibt er mir trotzdem den Errorlevel null aus und springt nach KOPIERENOK. Das soll er natürlich nicht tu'n.

Das Problem habe ich wenn die Quelldatei.mdb zwar existiert, aber das Zielverzeichnis nicht.

Kennt jemand ne Lösung?

Danke.

Gruß

Tatjana
Bitte warten ..
Mitglied: Biber
05.07.2006 um 12:41 Uhr
Moin dynastie,
wenn das Zielverzeichnis nicht existiert, gibt er mir trotzdem den Errorlevel null aus
und springt nach KOPIERENOK.
Nicht trotzdem. Sondern weil es kein Fehler ist. XCOPY kopiert ja ggf. incl. Verzeichnis-Neuanlegen.
Das soll er natürlich nicht tu'n.
"tu'n"? Welchen Buchstaben hast Du denn ausgelassen? Ein "h"?

Wenn Du vorher prüfen willst, ob ein Verzeichnis/eine Datei existiert, dann musst Du das mit
"if exist x:\pfad"
- oder
"if exist y:\pfad\datei.xyz"
selber machen.
Aber vor dem XCOPY-Aufruf.
....
IF NOT EXIST %ZIELVERZEICHNIS%\%ZIELDATEI% ECHO Zieldatei noch nicht vorhanden.
XCOPY ....
...

Grüsse
Biber
Bitte warten ..
Mitglied: dynastie
05.07.2006 um 14:10 Uhr
Hallo,
ok ich seh's ja ein

Hab's jetzt so gelöst:

echo Bitte warten ...
IF NOT EXIST %ZIELVERZEICHNIS% mkdir %ZIELVERZEICHNIS%
xcopy %QUELLVERZEICHNIS%\%QUELLDATEI% %ZIELVERZEICHNIS% /C /D /E /H /R /Y /F /I 1>>%LOG_FILE_NAME% 2>>&1
echo.
if %errorlevel%==0 goto KOPIERENOK
if not %errorlevel%==0 goto KOPIERENFEHLER
pause

:KOPIERENFEHLER
echo Beim Kopieren der Datei dbinfo.mdb ist ein Fehler aufgetreten.
pause
exit

Dachte wieso das Verzeihcnis nicht gleich anlegen wenn man's eh unbedingt braucht und es fehlt. Jetzt tut's so wie ich es mir vorstelle.

Gruß

Tatjana
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Xcopy Batch-Datei (3)

Frage von Lauchheimer zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...