【.NET】UNCパスで表現されるフォルダを認識したい
Q&A
Closed
解決したいこと
Visual StudioでWindowsフォームアプリを作っています。
UNCパスで表現されるフォルダを認識する方法が知りたいです。
ユーザーにフォルダパスを指定させて、そのフォルダの中身に対して処理をするという機能を作りました。
C:aaaa\bbbb\ccなどのドライブレターが振られたフォルダであればSystem.IOで認識できるので、フォルダの存在も確認できますしその中のファイルに対しても処理ができます。
一方で、"\\"((円マークあるいはバックスラッシュ)*2)から始まるUNCパスで表現されるフォルダだとSystem.IO.Directory.ExistsでFalseが返ってきます。
UNCパスでも変わらず認識できているWindowsフォームアプリを見たことがあるので、技術的に不可能ということはないはずなのですが、やり方がわかりません。
ソースコード(VB/C#)
Imports System.IO
If Directory.Exists(path) Then
Console.WriteLine("存在する")
End If
using System.IO;
if (Directory.Exists(path)){
Console.WriteLine("存在する");
}
自分で試したこと
- ネットワークドライブ割り当てでドライブレターを割り当てる方法の検討。
- 空いているドライブレターを探して勝手に割り当てることも不可能ではありませんが、ユーザーの環境に依存してしまうので、やはりUNCパスそのままで認識したいです。
- FileSystemObjectの使用の検討
- 古いFileSystemObjectを.NETで使うイメージがなく、使った場合にどんな問題が生じるのかわからないので他の方法を先に考えたいと思っています。仮にできたとしても、System.IOでできずこちらできる理由がわからなすぎて不気味です。
よろしくお願いいたします。
0