4352812247
27.10.2022
816
4
0
Nach Wort suchen und Programm wieder ausführen
Hallo zusammen, ich bräuchte hilfe bei meinem .bat file:
Ich führe LaTeX aus:
lualatex -jobname=test document.tex > dokumentation.txt
set "search=LaTeX Warning: Label(s)"
Ich hätte gerne eine Möglichkeit, wie das Programm nach laufen des LaTeX-Befehls, die dokumentation.txt überprüft ob die LaTeX Warning: Label(s) ... enthalten ist.
Falls ja, soll der selbe LaTeX-Befehl nochmal laufen.
Vielen Dank schon mal
Ich führe LaTeX aus:
lualatex -jobname=test document.tex > dokumentation.txt
set "search=LaTeX Warning: Label(s)"
Ich hätte gerne eine Möglichkeit, wie das Programm nach laufen des LaTeX-Befehls, die dokumentation.txt überprüft ob die LaTeX Warning: Label(s) ... enthalten ist.
Falls ja, soll der selbe LaTeX-Befehl nochmal laufen.
Vielen Dank schon mal
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4415332804
Url: https://administrator.de/contentid/4415332804
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
4 Kommentare
Neuester Kommentar
Moin.
find oder findstr ist dein Freund wenn man immer noch mit Batch rum eiert
U.
find oder findstr ist dein Freund wenn man immer noch mit Batch rum eiert
findstr /ilc:"LaTeX Warning: Label(s)" document.tex >nul 2>&1 && (
echo Do here something if found
) else (
echo not found
)
"Echo" gibt einfach einen Text aus (ähnlich wie "Print"), das solltest Du weglassen. Und "do" auch.
Ukulele war schneller ...
Am Besten wird es vermutlich funktionieren, wenn Du eine "Schleife" einbaust. Folgendes Info habe ich gefunden:
In einer Batch gibt es eine einfache Möglichkeit eine primitive "Schleife" zu bauen mittels Label und Goto, dazwischen die Befehle und natürlich die Abbruchmöglichkeit.
:Label
Befehl 1
Befehl 2
Befehl n
If ......... goto end
goto label
:end
Das müsstest Du natürlich umbauen,
so dass in der Klammer das Goto steht,
das dann Deine Batch von vorne / "oben" neu startet.
Verstehst Du, was ich meine?
Hilft das weiter?
Ukulele war schneller ...
Am Besten wird es vermutlich funktionieren, wenn Du eine "Schleife" einbaust. Folgendes Info habe ich gefunden:
In einer Batch gibt es eine einfache Möglichkeit eine primitive "Schleife" zu bauen mittels Label und Goto, dazwischen die Befehle und natürlich die Abbruchmöglichkeit.
:Label
Befehl 1
Befehl 2
Befehl n
If ......... goto end
goto label
:end
Das müsstest Du natürlich umbauen,
so dass in der Klammer das Goto steht,
das dann Deine Batch von vorne / "oben" neu startet.
Verstehst Du, was ich meine?
Hilft das weiter?
Ich komme trotzdem nicht weiter...
War ja wieder klar ...@echo off
set "search=LaTeX Warning: Label(s)"
set "datei=%~dp0dokumentation.txt"
:loop
lualatex -jobname=test document.tex >"%datei%"
findstr /ilc:"%search%" "%datei%" >nul 2>&1 && goto :loop