Batch Variable lässt sich nicht kürzen
Hi,
ich stehe vor einem seltsamen Problem. Ich lese den Inhalt einer Textdatei ein und setze den als Variable.
Wie man hier sieht, will ich die letzten 6 Ziffern löschen.
gebe ich jetzt echo %MaxCLL% ein, erscheint das hier: :~-6%
setze ich das echo %MaxCLL% vor Codezeile 2, funktioniert es (nur halt leider zu lang)
Alternativ würde auch das einlesen der TXT mit tokens gehen, es wäre immer der erste Token in der ersten Zeile. Aber auch dazu bin ich irgendwie nicht fähig.
Langsam gehen mir die Ideen aus...
ich stehe vor einem seltsamen Problem. Ich lese den Inhalt einer Textdatei ein und setze den als Variable.
set /p MaxCLL=<"%TEMP%\Info.txt"
set "MaxCLL=%MaxCLL:~-6%"
Wie man hier sieht, will ich die letzten 6 Ziffern löschen.
gebe ich jetzt echo %MaxCLL% ein, erscheint das hier: :~-6%
setze ich das echo %MaxCLL% vor Codezeile 2, funktioniert es (nur halt leider zu lang)
Alternativ würde auch das einlesen der TXT mit tokens gehen, es wäre immer der erste Token in der ersten Zeile. Aber auch dazu bin ich irgendwie nicht fähig.
Langsam gehen mir die Ideen aus...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 495405
Url: https://administrator.de/contentid/495405
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
8 Kommentare
Neuester Kommentar
Eingangsdatei hat falsches Encoding (Unicode/UTF8/etc).
https://ss64.com/nt/chcp.html
Btw. https://www.dostips.com/DtTipsStringManipulation.php
https://ss64.com/nt/chcp.html
Btw. https://www.dostips.com/DtTipsStringManipulation.php
Hier ist dein Fehler, du erzeugst eine leere Datei wenn die Eigenschaft nicht existiert.
%MEDIAINFO% --output=Video;%%MaxCLL%% %1>"%TEMP%\Info.txt"
Und wenn nichts in der Datei steht kann du auch nicht kürzen und es kommt zu der entsprechenden Ausgabe die du oben siehst
Nö, das geht mit Delayed Expansion und Ausrufezeichen statt Prozentzeichen oder call set auch innerhalb der Klammern ;)
https://ss64.com/nt/delayedexpansion.html
https://ss64.com/nt/delayedexpansion.html