Ich brauch ein Batchscript was mir Dateinamen einfügt, wer kennt sich aus?

  • Im Endeffekt soll folgendes Argument auf alle Dateien im Ordner angewandt werden:

    Code
    mkvpropedit "foo.mkv" -e info -s title="Title"

    - foo.mkv soll hierbei mit dem jeweiligen Dateinamen ersetzt werden
    - Title soll auch mit dem jeweiligen Dateinamen ersetzt werden

    ergo ich hab 7x25 mkv Dateien die nutzlose Titelinfos haben, die Dateinamen haben aber alles richtig. Ich will nicht 175 mal alles manuell copy pasten.
    sprich:

    Code
    C:\Program Files\MKVToolNix>mkvpropedit "Z:\Videos\Charmed\Staffel 1\S01E01 - Das Buch der Schatten.mkv" -e info -s title="S01E01 - Das Buch der Schatten.mkv"
    Die Datei wird analysiert.
    Die Veränderungen werden in die Datei zurückgeschrieben.
    Fertig


    linux batch nehm ich auch weil es mkvpropedit dafür auch gibt, da muss es aber auf die samba freigabe hin mit smb:// links gehen ohne schreibzgriff/auth fehlern (die mir vlc etwa beim öffnen einer smb videodatei immer wirft, wenn ich nicht login daten manuell erneut eingebe)

    Einmal editiert, zuletzt von freaked (21. Januar 2022 um 13:56)


  • linux batch nehm ich auch weil es mkvpropedit dafür auch gibt, da muss es aber auf die samba freigabe hin mit smb:// links gehen ohne schreibzgriff/auth fehlern (die mir vlc etwa beim öffnen einer smb videodatei immer wirft, wenn ich nicht login daten manuell erneut eingebe)

    Wenn du wirklich direkt über Samba lesen und schreiben willst, kannst du das einfach per Mount an eine beliebige Stelle in deinem System mounten und bist dadurch nicht mehr abhängig davon, was dein Dateimanager so meint, mit dem Samba-Share machen zu müssen.

    Wenn du das Paket cifs-utils installiert hast (heißt in einem Großteil der Distros so) reicht dann folgender Befehl, um das zu mounten:

    Code
    mount -t cifs -o user=<username>,domain=<domainname>,password=<passwort> //192.168.1.42/sambashare /mnt/samba

    Alternativ können diese Anmeldedaten auch in ein cifs-Credentials File gepackt werden (In der Suchmaschine deiner Wahl suchen, dann findest du was) und der Mount in die fstab eingetragen werden, dann wird bei jedem booten der Ort permanent gemountet.


    Ich würde dir gerne ein kurzes Bashscript schreiben, welches einmal über alle Dateinamen in einem Ordner iteriert und den Dateinamen dann als Titel einträgt, leider hab ich gerade keine Zeit lol. Wenn bis heute Abend niemand geantwortet hat, mach ich das einmal.

    *blök* 🦌

    Einmal editiert, zuletzt von Nik (21. Januar 2022 um 17:08)

  • Also wenn alle Dateien in einem Verzeichnis liegen und du dich mit cd auf nem Linuxsystem dorthin bewegen kannst, müsste folgendes funktioneren:

    Code
    for infile in *.mkv; do mkvpropedit "$infile" -e info -s title="$infile"; done


    Das .mkv könnte man aus dem title noch entfernen, falls gewünscht.

    „Zitate von sich selbst in der Signatur sind doof.“ Chrisse, 2009
    „Hmm... mal was aus 2010 reinnehmen“ Chrisse, 2010
    „Ach, wie die Zeit vergeht...“ Chrisse, 2011
    „Bin immernoch dagegen“ Chrisse, 2012
    „Jetzt auch mit 2013“ Chrisse, 2013
    „2021 ich komme“ Chrisse, 2014
    „Ab jetzt wieder länger“ Chrisse, 2015
    „Gut Ding will Weile haben“ Chrisse, 2016
    „Meine Signatur: Öfter geupdated als mein Windows“ Chrisse, 2017
    „Klicken sie weiter, hier gibt es nichts zu lesen“ Chrisse, 2018
    „Dieser Post kann Spuren von Sarkasmus enthalten“ Chrisse, 2019
    „Reinstate Chiaki“ Chrisse, 2020
    „2021 ist eine Coverstory der Moderation und nie passiert!“, Chrisse, 2022

  • So wie Chrisse hätte ich es auch gemacht, weil ich die Syntax im Kopf habe. Bei Windows hingegen (musste da erst recherchieren) müsse es so aussehen:

    Code
    for /r %f IN (*.mkv) DO mkvpropedit "%f" -e info -s title="%f"

    Aber bitte erst mal trockenübungstechnisch testen, ich hab es jetzt nur mit echo ausprobiert.

    • • • – • – – • – –

  • das hat perfekt geklappt :b1: danke für eure hilfe jungs :b3:
    habe die netzwerkplatte per

    Code
    sudo mount -t cifs -o username=Besitzer //192.168.50.6/E /mnt/E/


    eingebunden

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!