[erledigt] Kleines DOS-Problemchen...

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.

BBCode ist ausgeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Ansicht erweitern Die letzten Beiträge des Themas: [erledigt] Kleines DOS-Problemchen...

Re: Kleines DOS-Problemchen...

von Agrivaine » 13 Mai 2013, 12:38

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:

Re: Kleines DOS-Problemchen...

von ds10 » 13 Mai 2013, 10:57

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.

[erledigt] Kleines DOS-Problemchen...

von Agrivaine » 13 Mai 2013, 10:11

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:

Nach oben