[erledigt] Kleines DOS-Problemchen...

Alles was sonst nicht passt. Bitte keine Werbung für Webseiten/Produkte usw.
Antworten
Benutzeravatar
Agrivaine
Moderator
Beiträge: 810
Registriert: 21 Nov 2007, 14:39
Kontaktdaten:

[erledigt] Kleines DOS-Problemchen...

Beitrag von Agrivaine »

Ich habe mir etwas "gebastelt", damit Filmtitel in zwei strukturierten Text-Dateien landen, was soweit auch prima funktioniert.
Allerdings habe ich ein Problem bei Titeln mit Umlauten. Ich würde es gerne direkt per DOS lösen und nur ungern einen kleinen Mehrzeiler dafür programmieren.

Als Beispiel:
Im SwitchPlugin als Parameter "{title}" {leadingZero(start_month, "2")} {start_year}
als "Programm" meine Batch-Datei:

Code: Alles auswählen

@echo off & setlocal

rem legt Monats- und Komplett-Filmliste an
rem per Switch-Plugin aus TVB heraus mit Parametern: "{title}" {leadingZero(start_month, "2")}  {start_year}
rem 'title' in Anführungszeichen, sonst werden Titel aus mehreren Wörtern durch die Spaces als einzelne Befehle interpretiert
:: %1 = Sendungstitel
:: %2 = Monat (2-stellig)
:: %3 = Jahr (4-stellig) 


::ist nötig, da bspw. die Echo-Syntax mit %1 nicht funktioniert
 set titel=%1
 set monat=%2
 set jahr=%3


:: check ob Jahresverzeichnis vorhanden
 if not exist "C:\Program Files (x86)\M2TV\Daten\Filme %jahr%" md "C:\Program Files (x86)\M2TV\Daten\Filme %jahr%"

:: check ob neuer Monat + ggf. Monatstrenner anlegen
 if not exist "C:\Program Files (x86)\M2TV\Daten\Filme %jahr%\FILM%jahr:~-2%%monat%.TXT" echo %monat%-%jahr%========================================================================= >> "C:\Program Files (x86)\M2TV\Daten\FILMALL.TXT"

 echo %titel:~1,-1% >> "C:\Program Files (x86)\M2TV\Daten\FILMALL.TXT"
 echo %titel:~1,-1% >> "C:\Program Files (x86)\M2TV\Daten\Filme %jahr%\FILM%jahr:~-2%%monat%.TXT"

endlocal
Dabei killt aber DOS die Umlaute im Titel und ersetzt sie durch (?) ANSI-Steuerzeichen. Kann ich das irgendwie umgehen bzw. verhindern, oder muss ich mir doch ein kleines Proggi zurecht hämmern :wink:
Zuletzt geändert von Agrivaine am 13 Mai 2013, 12:40, insgesamt 1-mal geändert.
Grund: als "erledigt" gekennzeichnet
Gestern standen wir vor dem Abgrund; heute sind wir bereits einen Schritt weiter...
ds10
Site Admin
Beiträge: 19101
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Kleines DOS-Problemchen...

Beitrag von ds10 »

Das Problem sind wohl die unterschiedlichen Codepages von DOS und Windows. Im SwitchPlugin lässt sich die verwendete Codepage nicht einstellen. Es müsste also funktionieren, wenn du die Verarbeitung nicht auf DOS-, sondern auf Windows-Ebene (z.B. VBScript) durchführst.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Benutzeravatar
Agrivaine
Moderator
Beiträge: 810
Registriert: 21 Nov 2007, 14:39
Kontaktdaten:

Re: Kleines DOS-Problemchen...

Beitrag von Agrivaine »

Danke und danke :D
"Codepage" war das Zauberwort. Anscheinend öffnet Java das CLI mit der falschen Codepage. Einfach in der Batch die richtige Codepage ausgewählt und schon geht es :mrgreen:

Falls jemand mal ein ähnliches Problem mit Umlauten hat, einfach ein chcp 1250 einfügen.

Code: Alles auswählen

    @echo off & setlocal
    chcp 1250
    ...

...zwischenzeitlich hätte ich in der verbratenen Zeit zwar auch locker den Mehrzeiler mehrmals schreiben können, aber wenigstens wieder was gelernt :lol:
Gestern standen wir vor dem Abgrund; heute sind wir bereits einen Schritt weiter...
Antworten