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...
Please also mark the comments that contributed to the solution of the article
Content-Key: 495405
Url: https://administrator.de/contentid/495405
Printed on: April 19, 2024 at 19:04 o'clock
8 Comments
Latest comment
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