SORU
15 EYLÜL 2008, PAZARTESİ


Nasıl eğer belirli bir dize Windows altında yasal / geçerli bir dosya adı olup olmadığını kontrol edebilirim?

İşlevsellik benim uygulamada toplu iş dosyası yeniden adlandırma dahil etmek istiyorum. Bir kullanıcı hedef dosya adı deseni yazın ve (desen bazı joker değiştirdikten sonra) eğer Windows altında yasal bir dosya olacak olmadığını kontrol etmek istiyorum. [a-zA-Z0-9_] gibi düzenli ifade kullanmaya çalıştım ama çeşitli dillerden ulusal özel sayıda karakter (Örneğin sesli harfler vb.) içermez. Böyle bir kontrol yapmak için en iyi yolu nedir?

CEVAP
15 EYLÜL 2008, PAZARTESİ


MSDN's "Naming a File or Directory," buradan yasal bir dosya adı altında Windows için genel kuralları:

Geçerli kod sayfası içinde herhangi bir karakter (Unicode/127 yukarıda ANSI) dışında kullanabilirsiniz:

  • * : " / \ | ? * 1* >
  • 0-31 olan karakter (ASCII boşluk daha az)
  • Hedef dosya sistemi izin vermiyor başka bir karakter (mesela, nokta veya boşluk)
  • Herhangi bir DOS isimler: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9 (ve önlemek AUX.txt vb)
  • Dosya adı tüm dönemler

Kontrol etmek için isteğe bağlı bazı şeyler:

  • Dosya yolları (dosya adı da dahil olmak üzere) birden fazla 260 karakter (\?\ öneki kullanmayın) olmayabilir
  • Unicode \?\ (önek dizin bileşenleri ' ni genişletin ve taşmaya neden 32.000 sınırlayabilir unutmayın) kullanırken yolları (dosya adı dahil) 32,000'den fazla karakter içeren dosya

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BaaaStuds's channel

    BaaaStuds's

    10 Mart 2009
  • Joe DiFeo

    Joe DiFeo

    7 AĞUSTOS 2012
  • schmittastic

    schmittastic

    9 EYLÜL 2009