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
Kommentar vom Moderator Biber am 09.03.2010 um 14:47:57 Uhr
Leider funktioniert das nicht so ganz.
Ich werde beantragen, diesen Leer-Satz forumsweit zu bannen.
Wenn das eine Fehlerbeschreibung von erwachsenem Windows-Anwender zu erwachsenem Windows Anwender ist - wie unterhalten sich schulpflichtige PlayStation-Zockerinnen??

gelöst Logdatei auswerten und bestimmten Text in Variable speichern

Mitglied: ForgottenRealm

ForgottenRealm (Level 1) - Jetzt verbinden

09.03.2010, aktualisiert 14:47 Uhr, 5046 Aufrufe, 4 Kommentare

Hallo


Wieder einmal habe ich ein Problem bei einer For-Schleife.

Diesmal möchte ich aus einer bestehenden Logdatei bestimmte Wörter herausfiltern und die komplette Zeile, in der dieses Wort vorkommt, als Variable speichern um diese später verwenden zu können.


Gegeben ist:

@set ERRORCODE=(0x00000002)
@set LOGFILE=%USERPROFILE%\Desktop\Test.log
@set ERRORS=%USERPROFILE%\Desktop\Errors.log

for %%i in ("%LOGFILE%") do findstr /C:"%ERRORCODE%" && echo %%i>>"%ERRORS%"


Leider funktioniert das nicht so ganz.

Wo liegt der Fehler?
Mitglied: bastla
09.03.2010 um 15:06 Uhr
Hallo ForgottenRealm!

Abgesehen davon, dass ich Bibers obigen Antrag aufs Heftigste unterstütze - hast Du es schon mal mit einer "for /f"-Schleife versucht?

Außerdem - nach "als Variable speichern" (auch wenn dies für mehrere Zeilen zumeist ohnehin nicht viel Sinn hat) sieht Dein Code nicht aus ...

... und wenn die Zeilen tatsächlich nur in eine Datei sollten, wäre die Schleife entbehrlich:
findstr /C:"%ERRORCODE%" "%LOGFILE%">"%ERRORS%"
Grüße
bastla
Bitte warten ..
Mitglied: ForgottenRealm
09.03.2010 um 15:31 Uhr
Hi

Ich habe noch etwas an der Datei gearbeitet und bin nun soweit, dass ich die ERRORS Datei erstellt bekomme.

@set ERRORCODE=^(0x00000020^)
@set LOGFILE=Test.log
@set ERRORS=Errors.log
@set NICHTKOPIERT=NichtKopiert.log

type "%LOGFILE%"|findstr /C:"%ERRORCODE%">>"%ERRORS%"

Mit Type gehts auch, wenn auch etwas länger als deine Zeile.

Nun erhalte ich eine weitere Logdatei, aus der ich in jeder Zeile die ersten 71 Zeichen entfernen möchte.

Dafür dachte ich an die nachfolgende Schleife, um jede Zeile abzuarbeiten;

for /f %%L IN (%ERRORS%) DO (
set UNFERTIG=%%L
set FERTIG=%UNFERTIG:~-71%
echo %FERTIG%>>%NICHTKOPIERT%
)

Die erzeugte Logdatei ist allerdings Fehlerhaft, denn es steht dort nur "ECHO ist eingeschaltet (ON)." drin, was darauf hindeutet, dass die Variable %%L nicht erstellt wird.

Die Ausgabe im CMD Window sagt, dass die Variable %unfertig% nur den Wert bis zum ersten Leerzeichen in jeder Zeile bekommt und somit nicht länger als 71 Zeichen ist und somit auch nicht verarbeitet werden kann.

Wenn ich die Variable %ERRORS% im ersten Teil der Schleife mit ' oder " einfasse, wird in beiden Fällen nur der Dateiname verarbeitet und nicht der Inhalt.

Wie lässt sich dies umgehen?
Bitte warten ..
Mitglied: bastla
09.03.2010 um 16:16 Uhr
Hallo ForgottenRealm!

Etwa so:
01.
@echo off & setlocal 
02.
set "ERRORCODE=(0x00000020)" 
03.
set "LOGFILE=Test.log" 
04.
set "ERRORS=Errors.log" 
05.
set "NICHTKOPIERT=NichtKopiert.log" 
06.
 
07.
del "%NICHTKOPIERT%" 2>nul 
08.
findstr /c:"%ERRORCODE%" "%LOGFILE%">"%ERRORS%" 
09.
for /f "usebackq delims=" %%i in ("%ERRORS%") do set "Zeile=%%i" & call :ProcessLine 
10.
goto :eof 
11.
 
12.
:ProcessLine 
13.
>>"%NICHTKOPIERT%" echo %Zeile:~71% 
14.
goto :eof
Wenn die Datei "Errors.log" nicht für andere Zwecke benötigt wird, ließen sich die Zeilen 8 und 9 zu
for /f "delims=" %%i in ('findstr /c:"%ERRORCODE%" "%LOGFILE%"') do set "Zeile=%%i" & call :ProcessLine
zusammenfassen ...

Grüße
bastla

P.S.:
... was darauf hindeutet, dass die Variable %%L nicht erstellt wird.
Tatsächlich werden alle Variablen erstellt, aber da keine "delayedExpansion" (Beispiele und Erklärung mehrfach hier im Forum zu finden) vorgenommen wird, kann auf die Werte der Variablen erst nach dem Abarbeiten der Schleife zugegriffen werden (wo sie in diesem Fall nix mehr nützen) ...
Bitte warten ..
Mitglied: ForgottenRealm
10.03.2010 um 09:07 Uhr
Hallo

Funktioniert einwandfrei, vielen Dank!

Ich habe noch das erste goto :eof durch eine andere Sprunganweisung ausgetauscht, da dieses Programm in ein weiteres Programm eingebunden werden soll, welches sonst ja beendet wird.


Auf die Idee mit dem Call bin ich gar nicht gekommen und bis zu dem Punkt hatte ich die Zeile auch schon mal
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Bestimmter Text aus einer Textdatei umgeändert in einer Variable speichern?

gelöst Frage von spookypoofBatch & Shell4 Kommentare

Hallo, Ich wollte den Inhalt aus einer Textdatei umgeändert in einer Variable speichern. Beispiel: Textdatei.txt beinhaltet z.B. "best" (ohne ...

Batch & Shell

Powershell: Bestimmte Anzahl an Variablen von User Eingabe speichern

gelöst Frage von clubmateBatch & Shell4 Kommentare

Morgen Freunde, ich habe ein kleines Problem. Ich habe eine Do-Until-Schleife: Nun möchte ich aber, dass $AnzahlHosts soviele Werte ...

Batch & Shell

Text an bestimmter Stelle einfügen

gelöst Frage von noob-xBatch & Shell2 Kommentare

Hallo bin mal wieder am Basteln, komm aber nicht weiter wie stelle ich es an dass nummer 1 immer ...

VB for Applications

Formelergebnis in Variable speichern

gelöst Frage von JuweeeVB for Applications1 Kommentar

Moin, Ich bastel gerade an einem Excelvorlage zum Erstellen eines rudimentären Dienstplan. So habe ich z.B. in Tabelle 1 ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

Grafikkarten & Monitore
4k EIZO Monitor, Fernseher und Splitter
Frage von LerxxeyGrafikkarten & Monitore9 Kommentare

Hallo Zusammen, vielleicht könnt ihr mir bei einem Problem helfen wo ich einfach nicht mehr weiterkomme Und zwar haben ...

TK-Netze & Geräte
Fax im Betrieb
Frage von gansa28TK-Netze & Geräte6 Kommentare

Hallo zusammen, Endlich wurden meine Gebete Erhört und der Rechner meines Bekannten dem ich etwas unter die Arme greife, ...

Humor (lol)
Nerd Zeitschrift gesucht
Frage von 2SeitenHumor (lol)6 Kommentare

Hey Zusammen, Ich suche eine Zeitschrift bei der es ums technische Basteln geht. Pc zusammenschrauben, Arduino Projekte, Server Tipps ...