Jos/kun käytettävissä on PowerShell...
convert.cmd:
Koodi:
powershell -c ^
[IO.File]::WriteAllText('.\%1.srt',^
[IO.File]::ReadAllText('.\%1.srt',[Text.Encoding]::UTF8),^
[Text.Encoding]::GetEncoding(850))
Tuossa siis on cmd-skriptiin kääritty yksi powershell-komento, joka .net frameworkkia komentaen muuntaa nykyhakemistosta löytyvän utf8-koodiseksi oletetun srt-tiedoston käyttämään 8-bittistä merkkivalikoimaa, tässä koodisivua 850. Riippuen katseluohjelmasta ja sen säädöistä, kysymykseen voi myös tulla koodisivu 1252, mutta siinä skandimerkit ovat eri paikassa.
(Pitkä komento on jaettu usealle riville väkäsillä ^.)
Tämä on kuitenkin hätäratkaisu. Utf8 on näissä asioissa standardi, jota kaikki järkevät ohjelmat ja laitteet noudattavat.
Jatkoa: Jos se skripti onkin tällainen:
convert.cmd:
Koodi:
powershell -c ^
[IO.File]::WriteAllLines('.\%1.srt',^
[IO.File]::ReadAllLines('.\%1.srt',[Text.Encoding]::UTF8),^
[Text.Encoding]::GetEncoding(1252))
... niin myös rivinvaihdot muuttuvat Windows-käytännön mukaisiksi. Tässä versiossa on koodisivuksi asetettu 1252, jotta notepad osaa näyttää skandit oikein. Type-komennolla listattuna skandit ovat nyt hassusti. Mikä taas osoittaa, että utf8 on hieno keksintö.