Windows 7'yi dosya sistemine göre küçük harfe duyarlı hale nasıl getirirsin?


37

Windows 7'yi sabit sürücüdeki herhangi bir şeyi (C sürücüsü veya herhangi bir NTFS sürücüsü) okuduğunda / yazdığında büyük / küçük harf duyarlı hale getirmek istiyorum.

Google üzerinden kayıt defteri anahtarını değiştiren bir video buldum

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\DontPrettyPath

1 ( kaynak ) değerine .

Ayrıca, kayıt defteri anahtarını değiştirme hakkında bir şeyler söyleyen bir Windows destek öğesi de buldum

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive

Bu, beni 0 değeri koymanın Windows NTFS dosya sistemlerinde ( kaynak ) küçük harf duyarlı hale getireceğini varsaymamı sağladı .

İkinci çözümün cevabı olduğunu hissediyorum, ama emin değilim ve emin olmadan denemek istemiyorum.

Windows 7'yi C sürücüsüne (ve diğer NTFS sürücülerine) okur / yazarken büyük / küçük harf duyarlı hale getirmenin doğru yolunun ne olduğunu kesin olarak bilen var mı?

Yanıtlar:


25

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitiveKayıt defteri değerini 0, diğer yazarların önerdiği şekilde ayarlayabilirsiniz . add.regAşağıdaki içeriğe sahip bir dosya oluşturun ve çalıştırın.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel]
"obcaseinsensitive"=dword:00000000

Ardından büyük / küçük harfe duyarlı dosya isimleriyle çalışmak için Cygwin'i kullanın.

Bunu yapmak için, NTFS dosya sistemlerini , bu makalenin önerdiği gibi, posix=1seçeneğinizle birlikte bağlamanız gerekir . İşte benim bir pasajı :/etc/fstabfstab

none                    /cygdrive       cygdrive        binary,posix=1,user             0 0
C:                      /cygdrive/c     ntfs            binary,posix=1,user,auto        0 0
C:/Users                /home           ntfs            binary,posix=1,user,auto        0 0

Yukarıda yapıldıktan sonra, kullandığınız harf duyarlı dosya adları ile anlaşma mümkün olacak bash, mc, gitvb


6
Bunun etkili olması için yeniden başlatmalısınız.
William,

2
@William: Sadece tüm Cygwin işlemlerini ve servislerini ( Apache , sshd vb.) Sonlandırmanız gerektiğine inanıyorum . cygwin1.dllRAM'den kaldırılacağı gibi bu yeterli olmalı .
Bass

3
Bahsettiğim HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive support.microsoft.com/en-us/kb/929110
William

16

Aslında aynı isimde fakat aynı dizinde farklı bir durumda 2 dosya oluşturmak için Unix Services 3.5'i kurmanız gerekiyor, ancak bu sadece 32 bit Windows'ta çalışıyor. Sonra dosyaları oluşturmak için "C Shell" çalıştırmanız gerekir. Explorer aracılığıyla dosyaları oluşturamazsın. Bir kez oluşturulduktan sonra, explorer dosyaları ile iyi oynamıyor. İkinciyi yeniden adlandırmaya giderseniz, imleç birincisine atlar. Ayrıca, çoğu uygulama büyük küçük harf duyarlı bir dosya sistemi beklediğinden, dosyalardan yalnızca birini açabilir. 64 bit kullanıyorsanız, Cygwin'i kurun ve büyük / küçük harfe duyarlı olarak değiştirin.

Geliştirme sırasında hata ayıklama amacıyla Linux büyük-küçük harf duyarlı bir dosya sistemine öykünmeye çalışıyordum. VMWare'i geliştirme için bir Ubuntu örneği ile kullanmak daha iyi bir yaklaşım gibi görünüyor.



16

Web'de bulabileceğiniz tüm bu ayarlar NTFS için değil NFS içindir (farkına dikkat edin)!

NFS (Ağ Dosya Sistemi) bir ağ protokolüdür.

Böylece kayıt defteri anahtarı değiştirme HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive OLMAYACAKTIR istediğiniz her şeyi değiştirir.

NTFS büyük / küçük harfe duyarlıdır ancak Windows API DEĞİLDİR , yalnızca dosya adı halini hatırlar. Bu, dosyanızda olmasına rağmen ve AbC.TXTtarafından hala erişilebildiği için görüntülenir . Bu, NTFS değil, Windows sınırlamasıdır.abc.txtaBc.TxT

Diğeri HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\DontPrettyPathtemel olarak DOS tarafından kullanılan eski 8.3 dosya adlarının normalizasyonunu kapatır (tümü büyük harflerdir). Açıldığında (varsayılan) ABC.TXTolarak görüntülenir Abc.txt, ancak diğer tüm varyasyonlar tarafından erişilebilir durumda kalır .

Daha doğru olmak için:

Aslında, FS'ye erişen yazılıma bağlıdır.

WIN32 API kullanıyorsa (yazılımın% 99.9'u yapar) ne yaparsanız yapın büyük / küçük harf duyarlı olacaktır. Windows'taki tüm yerleşik yazılımlar (Explorer, komut istemi, Internet Explorer vb. Gibi) ve oradaki tüm tüketici yazılımları WIN32 kullanır ve her zaman büyük / küçük harf duyarlıdır.

NFS Servisi, Java ve diğerleri POSIX'dir ve 'duyarlı' kayıt defteri ayarına uyacaklardır. Ancak bu seçeneği kapatmak size büyük problemler getirebilir, çünkü bu yazılım Windows'tan ve diğer Win32 yazılımlarından uygun olmayan dosyalar oluşturabilir.


3
Aslında, ek işlemden önce bir FS seviyesinde büyük / küçük harfe duyarlıdır, ancak NTFS tüm dosya adlarını tüm büyük harfe dönüştürür ve küçük harfe sahip bir karakter girildiğinde büyük harfe dönüştürür ve sonra söz konusu dosyayı arar. (Bkz. Support.microsoft.com/ kb / 103657 )
Jeff F.

Haklısın. Daha basit anlatmaya çalıştım.
venimus

Peki, java'nın Win32 tabanlı bir sürümü aynı dizinde ise "SHORT.class" - "Short.class" bulmada nasıl başarılı olur? Bunu yapmak için çağrı olmadığı inanamıyorum.
Ira Baxter

Bence Java
POSIX'tir

2
Standart Java çalışma zamanının (yani, Oracle'dan) Windows'ta büyük / küçük harf duyarlı olmadığından eminim . Eğer koymak kalksa SHORT.classve Short.classaynı dizinde, bu işe yaramaz. (Elbette .jar dosyasının içindeyse sorun yok.)
Harry Johnston

4

Sanırım aradığınız şey bu:

http://www.chilkatsoft.com/p/p_454.asp

Bu sayfa HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive, büyük / küçük harfe duyarlı yapmak için 0 olarak ayarlanmasını önerir . Sanırım bunu zaten bulmuştunuz ve bu, bunu yapmanın standart yoluna benziyor (bulduğunuz Microsoft KB bile).

Çekirdek ayarlarını değiştirmeniz gerekiyor gibi görünüyor. Ancak güncellemeleri dikkat edin.

EDIT: Ancak dikkat, bazı programlar büyük / küçük harfe duyarsızlığa bağlı olabilir.

EDIT: Muhtemelen bir UDF bölümü kullanabilirsiniz. Bu dosya sistemi büyük / küçük harf duyarlıdır ve bence hem Windows hem de Linux'ta çalışıyor.

Bkz bu ve bu .


Lütfen link verdiğiniz sayfadan daha fazla bilgi gönderebilir misiniz? Her şeyi kopyalamayın, ancak ilgili paragrafı kopyalayabilir ve gerisini özetleyebilirsiniz.
ChrisF

Peki, tüm sayfa sadece bir paragraftır. Yine de hızlı bir düzenleme yapacağım.
beatgammit,

Teşekkürler tjameson. Büyük / küçük harf duyarlılığına bağlı olabilecek programlarla ilgili olarak, bu gerçekten büyük bir sorundur. Bir program "WINDOWS" ifadesini arayabilir ve bulamıyor, çünkü şimdi gerçekten "Windows", değil mi? Vur, ben Linux'tan Windows'a bir şeylerin nasıl kopyalanacağını anlamaya çalışıyorum ve kendimi farklı harflerle aynı yazım klasörlerinin tek bir konumda olduğu bir ortamda buldum.
trusktr

Aklıma gelen tek şey elle çatışmalar. Dosyaları kopyalarsanız, Windows bir kopyalamak veya başka bir şey yapmak isteyip istemediğinizi sormalıdır. Hatırlayamıyorum (Ben kendimde linux bir adamım).
beatgammit,

Bu makaleye göre bu sadece Win32 olmayan alt sistemler için çalışıyor, bu yüzden NTFS için geçerli değil.
harrymc

4

Microsoft, NTFS ve değişen dava duyarlılığı hakkında söylenecek ne var.

Ağda büyük / küçük harfe duyarlı aramalara izin vermek için çekirdeği değiştirmeniz gerekmez.

http://technet.microsoft.com/en-us/library/cc783185(WS.10).aspx

.

Dosya ve klasör adları için büyük / küçük harf duyarlılığı yapılandırma

Şunlara Uygulanır: Windows Server 2003 R2

Windows arabirimini kullanarak dosya ve klasör adlarına yönelik büyük / küçük harf duyarlılığını yapılandırmak için Ağ Dosya Sistemi için Microsoft Hizmetleri'ni açın: Başlat'ı tıklatın, Programlar'ın üzerine gelin, Yönetimsel Araçlar'ın üzerine gelin ve sonra Ağ Dosya Sistemi için Microsoft Hizmetleri'ni tıklatın.

Gerekirse, yönetmek istediğiniz bilgisayara bağlanın.

NFS Sunucusu'nu sağ tıklatın ve sonra da Özellikler'i tıklatın.

Dosya Adı İşleme sekmesini tıklayın.

Aşağıdakilerden birini yapın:

Büyük / küçük harfe duyarlı dosya ve dizin adı aramalarını etkinleştirmek için Büyük / küçük harfe duyarlı aramaları etkinleştir onay kutusunu işaretleyin.

Büyük / küçük harfe duyarlı dosya ve dizin adı aramalarını devre dışı bırakmak için Büyük / küçük harfe duyarlı aramaları etkinleştir onay kutusunun işaretini kaldırın.

Uygula'yı tıklayın.

Önemli Bu değişiklikler, NFS Sunucusu yeniden başlatılıncaya kadar geçerli olmaz. NFS Sunucusu'nu durdurma ve başlatma hakkında bilgi için, bkz. NFS Sunucusu'nu başlatma ve durdurma. Ayrıca, NFS Sunucusu'nun büyük / küçük harf duyarlı dosya adlarını desteklemesi için Windows çekirdeği büyük / küçük harf duyarlılığını devre dışı bırakmanız gerekir. Aşağıdaki kayıt defteri anahtarını 0 olarak temizleyerek Windows çekirdek küçük harf duyarsızlığını devre dışı bırakabilirsiniz: HKLM \ SYSTEM \ CurrentControlSet \ Control \ Oturum Yöneticisi \ çekirdek DWORD “obcaseinsensitive”

Komut satırını kullanarak dosya ve klasör adlarına yönelik büyük / küçük harf duyarlılığını yapılandırmak için Komut istemini açın.

Büyük / küçük harf duyarlılığını etkinleştirmek için aşağıdakileri yazın:

nfsadmin sunucusu [BilgisayarAdı] config casesensitivelookups = evet

Büyük / küçük harf duyarlılığını devre dışı bırakmak ve isteğe bağlı olarak NFS Sunucusu tarafından döndürülen dosya adlarının durumunu komut isteminde belirtmek için aşağıdakileri yazın:

nfsadmin sunucusu [BilgisayarAdı] config casesensitivelookups = no [ntfscase = {upper | alt | korumak}]

Bağımsız Değişken> Bilgisayar Adı = Yapılandırmak istediğiniz bilgisayarın adı.

Önemli Bu değişiklikler, NFS Sunucusu yeniden başlatılıncaya kadar geçerli olmaz. NFS Sunucusu'nu durdurma ve başlatma hakkında bilgi için, bkz. NFS Sunucusu'nu başlatma ve durdurma.

Not Ntfscase seçeneği, NTFS dosya sistemi için büyük / küçük harf duyarlılığını ayarlar. Varsayılan büyük / küçük harf duyarlılığı korunur (büyük / küçük harf koru). Bu komutun söz diziminin tamamını görüntülemek için, komut isteminde şunu yazın: nfsadmin server /?

.


1
Bunun, aynı adı taşıyan birden fazla dosyaya izin verdiğini sanmıyorum.
beatgammit,

1
O zaman o hack kayıt yapmak zorunda kalacak.
Moab


3

Microsoft devletler ;

NTFS'de, adlar büyük / küçük harf duyarlı, ancak büyük / küçük harf duyarlı değildir.
NTFS, dava temelinde dosya isimlerinin ayrımı yapmaz.

Windows altında büyük / küçük harf duyarlılığına izin vermek, kötü amaçlı yazılımın, kullanıcının erişemediği veya silemediği dosyalar oluşturmasına izin verir; bu nedenle iyi bir nedenle izin verilmez.

Her durumda, NTFS'yi büyük / küçük harfe duyarlı hale getirmeyi başarırsanız, Windows'un çökmesine ve yeniden yüklemenin tek çözüm olacağına eminim.


Ayrıca yaparsanız bir güvenlik sorunu sunduğunu da doğrudur. "Örneğin, bir Truva atı türü kötü amaçlı programla bulaşmış ve EDIT.EXE adlı bir edit.exe sürümü, edit.exe ile aynı dizinde depolanabilir. Bir kullanıcı Windows komut isteminde edit yazacaksa, , Truva atı sürümü (EDIT.EXE) standart sürüm yerine çalıştırılabilir ".. technet.microsoft.com/en-us/library/cc732389.aspx
Moab

Anahtar dosyaları / klasörleri yeniden adlandırmazsanız muhtemelen Windows çökmeyecek. Windows'un doğru kasayı kullandığından emin olduğundan eminim, hatta bunu tavsiye ediyorlar.
beatgammit,

Hmm, bu ilginç bir tjameson. Bu tavsiyeye bir link verebilir misiniz?
trusktr

11
Kötü amaçlı yazılım diskinize yazma erişimi alırsa, dosya sisteminizin büyük / küçük harfe duyarlı olup olmadığı konusunda büyük sorunlarınız vardır. #redherring
Leopd

3
Kayıt Defteri, çılgınca tutarsız durum kullanımına sahip sistem dosyalarına yapılan referanslarla doludur. Büyük küçük harf duyarlılığı büyük kırılmaya neden olur.
kreemoweet
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.