Millisekunden in Timecodes (Zeit) umrechnen
Hallo zusammen,
ich habe eine Textdatei mit folgendem Inhalt:
0=45387*Tasse*
Von dieser Art Zeilen befinden sich mehrere in diesem Textdokument. Es handelt sich hierbei um bookmark Positionen in einem Audioplayer.
Die Zahl vor dem = ist die Nummer des bookmarks. Die Zahl nach dem = ist die Position in Millisekunden und das Wort zwischen den Sternchen ist die Beschreibung des bookmarks.
Nun zu meiner Frage:
Kann man in diesem Fall Batch Script oder ähnlichem die Millisekunden in Zeit umrechnen, also hh:mm:ss und die Millisekunden im Dokument mit diesem Wert einfach überschreiben/ersetzen?
Wichtig ist hier auch, dass der weitere Inhalt des Dokumentes weiterhin bestehen bleibt.
Vielen Dank
ich habe eine Textdatei mit folgendem Inhalt:
0=45387*Tasse*
Von dieser Art Zeilen befinden sich mehrere in diesem Textdokument. Es handelt sich hierbei um bookmark Positionen in einem Audioplayer.
Die Zahl vor dem = ist die Nummer des bookmarks. Die Zahl nach dem = ist die Position in Millisekunden und das Wort zwischen den Sternchen ist die Beschreibung des bookmarks.
Nun zu meiner Frage:
Kann man in diesem Fall Batch Script oder ähnlichem die Millisekunden in Zeit umrechnen, also hh:mm:ss und die Millisekunden im Dokument mit diesem Wert einfach überschreiben/ersetzen?
Wichtig ist hier auch, dass der weitere Inhalt des Dokumentes weiterhin bestehen bleibt.
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 670085
Url: https://administrator.de/forum/millisekunden-in-timecodes-zeit-umrechnen-670085.html
Ausgedruckt am: 15.01.2025 um 13:01 Uhr
2 Kommentare
Neuester Kommentar
Hallo,
Gruß
Quelle: ChatGPT KI
@echo off
setlocal enabledelayedexpansion
:: Pfad zur Eingabedatei
set inputFile=bookmarks.txt
set outputFile=output.txt
:: Temporäre Datei für Ergebnisse
if exist "%outputFile%" del "%outputFile%"
:: Datei Zeile für Zeile einlesen
for /f "tokens=* delims=" %%A in (%inputFile%) do (
set "line=%%A"
:: Extrahieren der Bookmark-Nummer, Millisekunden und Beschreibung
for /f "tokens=1,2,3 delims==*" %%B in ("!line!") do (
set "bookmarkNumber=%%B"
set "millis=%%C"
set "description=%%D"
:: Umrechnung der Millisekunden in hh:mm:ss
set /a hours=!millis! / 3600000
set /a remainder=!millis! %% 3600000
set /a minutes=!remainder! / 60000
set /a remainder=!remainder! %% 60000
set /a seconds=!remainder! / 1000
:: Führende Nullen hinzufügen
set "hours=0!hours!"
set "minutes=0!minutes!"
set "seconds=0!seconds!"
set "hours=!hours:~-2!"
set "minutes=!minutes:~-2!"
set "seconds=!seconds:~-2!"
:: Formatierte Zeit erzeugen
set "formattedTime=!hours!:!minutes!:!seconds!"
:: Zeile mit umgewandeltem Wert schreiben
echo !bookmarkNumber!=!formattedTime!*!description!* >> "%outputFile%"
)
)
:: Originaldatei überschreiben (optional)
move /y "%outputFile%" "%inputFile%"
echo Fertig! Die Datei wurde aktualisiert.
pause
Gruß
Mit Powershell ein Quasi Einzeiler wenn man mal von der Variablen für den TO absieht
Online demo
Online demo
$file = "d:\test.txt"
[regex]::replace((Get-Content $file -raw),'(?ism)(?<=^\d+=)\d+',{param($m) [timespan]::fromMilliseconds($m.Value).toString('hh\:mm\:ss')}) | set-content $file