drscoop
Goto Top

Batch schlaufe echo in txt schreiben

Hallo Leute,

folgendes ist meine ausgangslage:

ich will mit einer batch ein verz. nach "xyz.err" durchsuchen (error logs), und die pfade in ein txt schreiben. doch ich kriegs nicht richtig hin.
was ich habe ist die schlaufe, welche mit im dos fenster schonmal korrekt durchläuft.
nun hätte ich gerne die ausgabe in ein txt. jedoch wird bloss der letzte durchlauf/pfad mit der for schleife ins txt geschrieben.

wie bekomme ich jeden pfad von jedem durchlauf in die txt rein?

wäre genial, wenn jemand hier rat weiss.
meine batch:

SET AUSG=test.txt
REM hier läuft die Schleife durch mein verz.
for /r "C:\D800_LOG" %%i in (*.err?) do Set "pfad1=%%~dpi"  
echo %pfad1%>>test.txt
pause

Content-Key: 215325

Url: https://administrator.de/contentid/215325

Printed on: April 20, 2024 at 00:04 o'clock

Member: bastla
bastla Aug 27, 2013 at 10:15:12 (UTC)
Goto Top
Hallo drscoop und willkommen im Forum!

Für das, was von Deinem Vorhaben bisher bekannt ist, genügt eine Zeile:
for /r "C:\D800_LOG" %%i in (*.err?) do >>test.txt echo %%~dpi
Grüße
bastla

P.S.: Ob Du wirklich eine "schlaufe" produzieren willst? face-wink
Member: drscoop
drscoop Aug 27, 2013 at 11:54:22 (UTC)
Goto Top
niccce... danke dir bastla!

Deine beispiele haben mir schon des öfteren weitergeholfen, ein x-tra danke an der stelle! THKS!!

Genauere definition, von was ich machen möchte:
ein system gibt bei fehlern ein xyz.err aus, abhängig davon welche komponente dies betrifft. deswegen muss ich das verz
\\host\Log\ durchsuchen, darin sind zahlreiche ordner welche wiederum ein xyz.err enthalten könnten. und deswegen dachte ich an schleife. am schluss sollen die xyz.err gelöscht werden, da ich die err meldungen noch zentral im error log der jeweiligen komponente hab.

ziel soll es sein, beim vorfinden einer xyz.err den pfad in eine txt zu schreiben, welche ich dann als attachement an ein mail weitergeben kann. doch soweit bin ich noch nicht.

es soll schon noch erweitert werden, doch der einfachheit halber, dachte ich, ich frag' ma nach den punkten, die ich nicht selber hinbekomme.

ich suche auch nach datumswert in der 1. zeile der err. logs.
das habe ich hinbekommen... und schaut solo so aus:

@echo off
REM Datum als Var
for /f "delims=$ " %%i in ('date /T') do set datum=%%i  
echo Aktuelles datum %datum%
rem Annahme, dass das Datum in der Form tt.mm.jj kommt
set jahr=%datum:~8,4%
set monat=%datum:~3,2%
set tag=%datum:~0,2%
echo Tag: %tag%
echo Monat: %monat%
echo Jahr: %jahr%
REM Zu durchsuchende Datei angeben
set Datei=C:\DABiS_FachExport_Sunshine.ERR
REM Nach folendem Inhalt suchen - hier Datum
set Inhalt=%tag%.%monat%.%jahr%
REM Definition Suche
findstr /c /i "%Inhalt%" %Datei%  
if errorlevel 1 goto nicht_gefunden
REM Errorlevel-Definitionen
:gefunden
echo Text in der Datei vorhanden!
goto Ende
:nicht_gefunden
echo Text in der Datei nicht vorhanden! 
:Ende