Batch Datei soll aus Textdatei string auslesen
Hallo,
voll Freude habe ich diesen Link gefunden:
Batch Datei soll aus Textdatei string auslesen ("genaue Koordinatenangabe")
Das klappt auch bestens, wenn ich eine Textdatei explizit angebe.
Ich möchte es aber für viele solcher Dateien machen.
Daher habe ich eine For Schleife gebastelt und meine alles richtig gemacht zu haben,
aber ich kriege nie das Datum (das steht bei mir in Zeile 38 an Position 42) meiner
aktuellen Datei. Irgendwie hat die Variable immer noch das Datum der letzten Datei (17.07.2011).
Obwohl die Zeile set ln immer das richtige Datum der aktuellen Datei enthält, hat
%ln:~42,10% immer das falsche Datum:
Habe schon mit set ln= rumgespielt - hilft nix. Ich werd noch wahnsinnig!
Bin für jede Hilfe äußerst dankbar!
Gruß NeuNeu
voll Freude habe ich diesen Link gefunden:
Batch Datei soll aus Textdatei string auslesen ("genaue Koordinatenangabe")
Das klappt auch bestens, wenn ich eine Textdatei explizit angebe.
Ich möchte es aber für viele solcher Dateien machen.
Daher habe ich eine For Schleife gebastelt und meine alles richtig gemacht zu haben,
aber ich kriege nie das Datum (das steht bei mir in Zeile 38 an Position 42) meiner
aktuellen Datei. Irgendwie hat die Variable immer noch das Datum der letzten Datei (17.07.2011).
Obwohl die Zeile set ln immer das richtige Datum der aktuellen Datei enthält, hat
%ln:~42,10% immer das falsche Datum:
for /f "delims=" %%i in ('dir /b') do (
echo %%i
echo ln=%ln%
for /f "delims=" %%j in ('findstr /n /v "akjgriarg" "%Pfad%"\%%i^|findstr "^38:"') do @Set "ln=%%j"
set ln
echo %ln:~42,10%
echo bla
echo %%i
echo ln=%ln%
REM set ln=
echo %ln:~42,10%
echo start
echo Die Variable ln enthält "%ln%"
echo hier
)
Bin für jede Hilfe äußerst dankbar!
Gruß NeuNeu
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 202446
Url: https://administrator.de/contentid/202446
Ausgedruckt am: 25.11.2024 um 21:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo NeuNeu!
Was willst Du denn genau erreichen? Grundsätzlich ist Dein Stichwort "
Variante 1 sähe etwa so aus:
Grüße
bastla
P.S.: Findest Du nicht auch passend formatierten Code viel besser lesbar?
Was willst Du denn genau erreichen? Grundsätzlich ist Dein Stichwort "
delayedExpansion
" - daher entweder ein Unterprogramm verwenden oder die "verzögerte Variablenerweiterung" aktivieren ...Variante 1 sähe etwa so aus:
@echo off & setlocal
set "Pfad=D:\Dein Pfad"
for /f "delims=" %%i in ('dir /b') do call :ProcessFile "%%i"
goto :eof
:ProcessFile
echo %1
for /f "delims=" %%j in ('findstr /n /v "akjgriarg" "%Pfad%\%~1"^|findstr "^38:"') do Set "ln=%%j"
set ln
echo %ln:~42,10%
echo bla
echo %1
echo ln=%ln%
REM set ln=
echo %ln:~42,10%
echo start
echo Die Variable ln enthält "%ln%"
echo hier
goto :eof
bastla
P.S.: Findest Du nicht auch passend formatierten Code viel besser lesbar?
Hallo NeuNeu,
was meinst du mit
Hast du gesamten Code von bastla 1:1 verwendet oder möglicherweise nur sein
in deinen Code integriert ohne die Subroutine :ProcessFile mit zu übernehmen ?
Also bei mir läuft bastla's Code (natürlich)
Andi
was meinst du mit
Hast du gesamten Code von bastla 1:1 verwendet oder möglicherweise nur sein
for /f "delims=" %%i in ('dir /b') do call :ProcessFile "%%i"
in deinen Code integriert ohne die Subroutine :ProcessFile mit zu übernehmen ?
Also bei mir läuft bastla's Code (natürlich)
Andi
Hallo NeuNeu!
BTW: Mein Vorschlag verwendet die "verzögerte Erweiterung" nicht (was eigentlich aus meinem Kommentar oben aufgrund von
Grüße
bastla
ich verstehe nicht, warum ich das jetzt mit dieser "verzögerten Erweiterung" machen muss
Hast Du denn bei Deiner Suche nach "delayedExpansion" noch nicht mal diesen Beitrag gefunden?BTW: Mein Vorschlag verwendet die "verzögerte Erweiterung" nicht (was eigentlich aus meinem Kommentar oben aufgrund von
entweder ein Unterprogramm verwenden oder die "verzögerte Variablenerweiterung" aktivieren
Variante 1
hätte hervorgehen sollen) ...Grüße
bastla
Hallo NeuNeu,
sehr hilf- und lehrreich ist auch dieser Artikel über das for-Kommando:
Tutorial zur FOR-Schleife
Darin wird das Prinzip der "delayedExpansion" sehr gut beschrieben.
Gruß
Andi
sehr hilf- und lehrreich ist auch dieser Artikel über das for-Kommando:
Tutorial zur FOR-Schleife
Darin wird das Prinzip der "delayedExpansion" sehr gut beschrieben.
Gruß
Andi