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

Errormeldung und Ausgabe in Log-Datei

Frage Entwicklung Batch & Shell

Mitglied: 26741

26741 (Level 1)

11.03.2006, aktualisiert 20.03.2006, 7977 Aufrufe, 6 Kommentare

Hallo,

ich habe ein Batch-Script geschrieben, welches in der Firma automatisiert Dateien backuppen und sortieren soll.

Ich möchte aber gerne keine Ausgaben und Fehler auf der Konsole angezeigt haben. Bisher habe ich es nur geschafft, entweder die Fehler oder die Ausgaben zu unterdrücken bzw. in eine Logdatei zu schreiben.

Hier das Stück Code:
ECHO.
ECHO Verschiebe XY-Daten
MOVE "%path_xydata%\*.%xy_filetype%" "%save_path%\%save_xydata%"
2>> %save_path%\%logfile% || ECHO Eintraege im Logfile vorhanden
ECHO
>> %save_path%\%logfile%
ECHO -----DONE-----

Wie kann ich jetzt von dem MOVE auch noch die verschobenen Dateien ins Logfile verschieben, nicht nur Fehlermeldungen??

In diesem Beitrag ist das Problem ebenfalls angeschnitten und auch keine richtige Lösung, nur Workarounds gefunden worden: http://www.administrator.de/Batchdatei_-_Logschreiben_aber_trotzdem_Tex ...

Ich danke schonmal für jeden Tipp!!


Johannes
Mitglied: maneich
11.03.2006 um 17:15 Uhr
Hallo,

also zunächst mal, wenn du hinter/unter dem echo keine pause machst, kannst du das ja überhauptnicht lesen, da so diese Zeile zwar angezeigt wird aber in Millisekunden wieder verschwindet.

Also wenn du das auch lesen möchtest dann z.B. mit

for %%e in (echo pause) do %%e Verschiebe XY-Daten

Aber nun zum eigentlichen Problem.

Du hast Dateien im Verzeichnis %a% liegen und willst diese nach Verzeichnis %b% verschieben. Außerdem soll kein prompt angezeigt werden, sondern dieser soll in eine Log-Datei geschrieben werden. Außerdem sollen die verschobenen Dateien auch noch ins Logfile geschrieben werden. Ist das soweit richtig?

Nun, die Ausgabe vom Move ist doch
Verzeichnis\Datei => Verzeichnis [OK] wenn alles gut gelaufen ist und z.B.
%adresse%\dateixyz.txt kann nicht verschoben werden - Datei oder Verzeichnis nicht vorhanden
oder eine andere Fehlermeldung wenn ein Fehler aufgetreten ist

Außerdem gibt Move einen Errorlevel zurück
0 wenn OK und
größer 0 meist 1 wenn nicht OK

Somit hast du 2 Möglichkeiten zu bestimmen was ohne prompt passieren soll

1. move %a%\datei.txt %b%>nul
damit wird die Ausgabe ins nichts geleitet, man kann aber trotzdem über über die Abfrage

If errorlevel 1 (bedeutet errorlevel >= 1)

feststellen ob fehlerfrei oder nicht und das auch in eine Datei schreiben.

2. move %a%\datei.txt %b%>>logfile.txt
Damit steht, wie oben bereits ausgeführt der Vorgang in der Logfile und zwar egal ob verschieben OK oder nicht OK

Willst Du das gesamte Verzeichnis verschieben, geht das am einfachsten mit:

for /f "tokens=*" %%e in ('dir /s /b %a%') do move %%e %b%>>logfile.txt

damit steht auch jede einzelne Datei in Verzeichnis %a% in der Logfile, ob kopiert oder nicht.

In %a% und %b% stehen natürlich die Verzeichnisadressen von und nach.

MfG maneich
Bitte warten ..
Mitglied: 26741
11.03.2006 um 17:33 Uhr
hi,

also zunächst mal, wenn du hinter/unter
dem echo keine pause machst, kannst du das ja
überhauptnicht lesen, da so diese Zeile
zwar angezeigt wird aber in Millisekunden
wieder verschwindet.

keine Panik, das Script ist ja noch viel länger und hat mehr Funktionen. War nur ein Auszug daraus... ;)

for %%e in (echo pause) do %%e Verschiebe
XY-Daten

ich habe mich in den letzten Tagen in Batch-Programmierung mal wieder bisschen aufgefrischt und nachgelesen.
Ich frage mich aber, warum sämtliche Sachen mit for-Schleifen gelöst werden, die IMHO viel einfacher auch anders gelöst werden könnten...

Du hast Dateien im Verzeichnis %a% liegen
und willst diese nach Verzeichnis %b%
verschieben. Außerdem soll kein prompt
angezeigt werden, sondern dieser soll in eine
Log-Datei geschrieben werden. Außerdem
sollen die verschobenen Dateien auch noch
ins Logfile geschrieben werden. Ist das
soweit richtig?

richtig. Mein Script funktioniert auch einwandfrei.
Ich möchte nur die Ausgabe
Datei XY
Datei YY
Datei YX
"X Dateien verschoben"
sowie die Ausgabe "datei xyz kann nicht verschoben werden/existiert nicht/existiert schon" ins Logfile schreiben.
Also sowohl die Statusmeldungen, wie auch die Fehlermeldungen.

If errorlevel 1 (bedeutet errorlevel >=
1)
feststellen ob fehlerfrei oder nicht und das
auch in eine Datei schreiben.

bringt aber nix, da ich die Fehlermeldung nit mehr auslesen kann.

2. move %a%\datei.txt
%b%>>logfile.txt
Damit steht, wie oben bereits
ausgeführt der Vorgang in der Logfile
und zwar egal ob verschieben OK oder nicht
OK

das geht nit. Wenn ich es als 2>> pipe, sind nur Fehlermeldungen im Logfile. Wenn ich >> ohne Errorlevel verwende, sind nur Statusmeldungen im Logfile.

Willst Du das gesamte Verzeichnis
verschieben, geht das am einfachsten mit:
for /f "tokens=*" %%e in ('dir /s
/b %a%') do move %%e %b%>>logfile.txt

wieder so ein Beispiel. Vielleicht kannst du ja mal begründen, warum eine for-Schleife hier sinnvoller ist, wie das verzeichnis einfach nur mit move zu verschieben...
Vielleicht kannst du mir auch kurz die Funktion der Schleife erklären, vielleicht verstehe ich dann den Hintergrund...
In meinem Fall will ich aber nur die Files aus dem Verzeichnis verschieben.

Danke dir schonmal!


Johannes
Bitte warten ..
Mitglied: Schirrmeister
11.03.2006 um 18:35 Uhr
Du kannst die Fehlerausgabe in den normalen Ausgabestrom umleiten, und diesen dann in die Datei (oder umgekehrt).
Das Umleiten sieht dann etwa so aus:
01.
>> datei.txt 2>&1
Bitte warten ..
Mitglied: 26741
11.03.2006 um 18:47 Uhr
hi,

es funktioniert!

Werde es jetzt mal ausführlich testen, schätze aber, dass das war, was ich gesucht hab.

ciao


Johannes
Bitte warten ..
Mitglied: 18133
12.03.2006 um 18:13 Uhr
hi,

mal mir dir > datei.log probiert ?

Gruß
Bitte warten ..
Mitglied: 26741
20.03.2006 um 14:00 Uhr
also hier nochmal die korrekte Lösung:

MOVE "%path_xydata%\*.%xy_filetype%" "%save_path%\%save_xydata%"
%save_path%\%logfile% 2>&1

oder ein einfaches Beispiel:

ECHO Dieser Text kommt in die Date >> datei.txt 2>&1
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
CMD ausgabe in log schreiben
gelöst Frage von medikopterBatch & Shell9 Kommentare

Hallo, ich suche nach einer möglichkeit eine CMD ausgabe in ein log zu schreiben. Ich habe hier schon mehrere ...

Windows 7
Löschprogramm für Sensibele Daten mit LOG Ausgabe?
Frage von zeroblue2005Windows 73 Kommentare

Hallo Zusammen, auch mit viel googlen finde ich nur Mist! Kennt einer von euch eine Free Lösung um Ordner ...

Batch & Shell
Powershell Funktion Ausgabe in Datei
gelöst Frage von schicksalBatch & Shell2 Kommentare

Hallo alle zusammen, Ich habe hier ein kleines Script, dessen Ausgabe würde ich gerne in eine Logdatei speichern. Ich ...

Batch & Shell
Batchdatei soll überprüfen, ob auf eine Log Datei
Frage von hoppalaBatch & Shell1 Kommentar

Hiho :) ! Ein Freund und ich haben eine Batchdatei erstellt, leider kommen wir bei einer Sache nicht weiter. ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 107 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
Frage von HelloWorldBatch & Shell18 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

Windows Server
Ping auf einen bestimmten Server nicht möglich
gelöst Frage von a.thierWindows Server7 Kommentare

Hallo, ich habe folgendes Problem. srv-dc1: Ping srv-nav > geht Ping srv-exchange > geht nicht srv-exchange: Ping srv-dc1 > ...

Windows 10
Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App
Tipp von kgbornWindows 107 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...