Bir sürücü harfini (X:\foo\bar.txt
gibi) eşdeğer UNC yoluna kullanarak bir yolu çözmenin evrensel bir yolu olup olmadığını merak ediyorum;Windows sürücü harfini bir yolla (alt ve ağ) çözme
X:\foo\bar.txt
X:
gerçek sürücü ise (yani vs. sabit disk, USB çubuğu,)\\server\share\foo\bar.txt
X:
eğer\\server\share
C:\xyz\foo\bar.txt
eğerX:
üzerine monte edilmiş bir ağ sürücüsü olan 012 sonucudurkomut haritalamaX:
Ben edecek kısmi çözümler olduğunu biliyoruz
C:\xyz
için:
bir ağ sürücüsünü Çöz
Çöz (
WNetGetUniversalName
dayanır Örneğin question 556649 için bakınız)SUBST
sürücü harfi (beklendiği gibi çalışır, ancak yerel sürücüler veya ağ sürücüleri gibi şeyler için UNC yollarını döndürmez) başlıklı (bkz.QueryDosDevice
).
Win32'de bu sürücü harfi çözümlemesinin uygulanmasının bazı basit yollarını özlüyor muyum? Ya da ihtiyacım olanı almak için hem WNetGetUniversalName
hem de QueryDosDevice
ile uğraşmak zorunda mıyım?
ah evet, CMD yol gidiyor Başlangıçta reddedilen bir çözümdür. Gerçekten hile yapacak bir Win32 API bulmaya çalışıyordum. Açıkçası, çözümünüzün aynı şeyi bir parti/komut dosyası ortamında yapmaya çalışan insanlar için çalışması gerekir. Fikirleriniz için çok teşekkürler; bazı CMD numaralarını keşfetmem için bir fırsattı. –
Bu betik harika. Sadece bir hata - değiştirilen sürücü yolundaki boşlukları desteklemiyor. Düzeltmek için, ilk döngü için aşağıdakileri değiştirin: ... tokens = 1,2 ... - ... token = 1 * ... –
@MrBungle: Teşekkürler! Ben bilmiyorum 'tokens = 1 *, araştıracak. 1,2 * 'olmadığından emin misin? – Benoit