5 Mayıs 2017 Cuma

DOS - Windows Türkçe karakter sorunu ve çözümü

Bir işlem için klasördeki dosyaların listesini almam gerekli oldu.
En basit yolla DIR komutunu kullanarak almak istedim.

DIR /B
DOS komutunu verdiğimde klasördeki dosyalar listeleniyor.

DIR /B /S
ile klasör ve alt klasörlerinin listesi ekrana yansıtılabiliyor.
DIR /B /S >dosyalistesi.txt
ile ise listenin ekrana değil de dosyalistesi.txt adlı bir dosyaya yansıması sağlanıyor.
Buraya kadar iyi güzel ancak dosyayı windows altında açtığımda Türkçe karakterler(ÜĞİŞÇÖüğişçö) içeren dosya adları farklı karakterlerde gösteriliyor.


Sebebi: DOS ile windows aynı karakter kodlarını kullanmadığı için.
Ben dosyayı windows altında kullanacağımdan soruna çözüm aradım ve iki basit yöntemle çözüm buldum.

1.YOL:
  • Oluşan dosyalistesi.txt dosyasını Notepad++ programı ile açtım.
  • Menüden Kodlama / Karakter takımı / Türkçe / OEM 857 tıkladım.

  • Türkçe DOS karakterleri Windows karakterlerine dönüştü.
  • Dosya / Kaydet ya da Dosya / Farklı kaydet ile dosyayı kaydettiğimde dosya bir değişiklik olmuyor. Belki de Notepad++ programının hatası.
  • O yüzden, dönüşen metnin tümünü seçip kopyaladım. CTRL+A , CTRL+C
  • Yeni metin dosyası oluşturup yapıştırdım. CTRL+V
  • dosyalistesi2.txt olarak kaydettim.


2. YOL:
Bu daha kolay bir yol ancak kullanılacak kodu unutursanız işe yaramaz.
  • DOS komut satırında aşağıdaki komutu verdim.
    CHCP 1254
  • Bu komut DOS karakter kodlamasını değiştirir. Windows Türkçe karakter kodlaması: 1254 dür. Komut parametresiz olarak verilirse aktif kod değerini verir.
  • DIR /B >dosyalistesi3.txt
    komutu ile dosya listesini dosyalistesi3.txt dosyasına aktardım. Alt klasörleri de dahil etmek için:
    DIR /B /S >dosyalistesi3.txt
  • Windows altında dosyayı açtığımda DOS karakterlerinin Windows karakteriyle değiştiği görülüyor.
Bu yöntemlere sadece dosya listesini dönüştürmek için ihtiyaç duyulmaz. Dos altında çalışan programların oluşturduğu dosyalar windows altında işlem görecekse de gerekir.

Bir de bu işlemin tersi var.
Yani Windows altında oluşan Türkçe karakterler içeren bir dosyanın DOS altında düzgün görünmesi.

Bunun için;
  • DOS komut satırından
  • CHCP 1254
    komutunu verdim.
    TYPE dosyalistesi3.txt
    komutunu verdiğimde ekranda dosya içeriği düzgün görünüyor.
  • Dosyanın DOS altında da düzgün görünmesi için;
    dosyalistesi3.txt dosyasını Windows altında açıp içerini seçip kopyaladım.
  • DOS komut satırında aşağıdaki komutu girdim
  • CHCP 857
    sonra alttaki komutu girdim.
    COPY CON dosyalistesi4.txt
  • CTRL+V ile yapıştırdım.
  • Dosyayı sonlandırmak için CTRL+Z ve ENTER
  • Böylece Windows karakterleri DOS karakterlerine dönüşmüş oldu.

Hiç yorum yok:

Yorum Gönder