منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
التحقق من امكانية الوصول الى محتوى المجلد - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : التحقق من امكانية الوصول الى محتوى المجلد (/showthread.php?tid=8939)



التحقق من امكانية الوصول الى محتوى المجلد - ali.alfoly - 19-05-13

السلام عليكم ورحمة الله
ما هى الدالة التى استخدمها للتحقق من امكانية الوصول لمحتوى المجلد
مثلا المجلد
C:\Program Files
يمكننا الوصول الى محتواه
اما المجلد
C:\System Volume Information
فلا يمكننا الوصول الى محتواه
كيف اتحقق من ذلك
ظنيت انها هذه الدالة لاكن معرفتش اتعامل معها
كود :
System.IO.Directory.GetAccessControl("C:\System Volume Information")



التحقق من امكانية الوصول الى محتوى المجلد - azizos - 19-05-13

السلام عليكم
حاولت عدة مرات لكن دون جدوى لدا استعملت طريقة بسيطة filestram احاول صنع ملف داخل المجلد ادا تم القبول فبأمكاني الوصول اليه و الا فلا و لكن الحل يعني جزئيا غير نافع
حاول مع غوغل بواسطة المفتاح التالي : Check Access Rights to File/Directory on NTFS Volume ستجد حلول كثيرة اختر منها ما يلائمك
بالتوفيق .


التحقق من امكانية الوصول الى محتوى المجلد - ali.alfoly - 21-05-13

جزاك الله خير اخى
لم اجد حل
هل من حل بارك الله فيكم


التحقق من امكانية الوصول الى محتوى المجلد - azizos - 22-05-13

السلام عليكم
يمكن الاستعانة ب C# نظرا لتخصصه في التعامل مع الملفات و الكود كالتالي فالصفحة هناك حلان :
http://stackoverflow.com/questions/11709862/check-if-directory-is-accessible-in-c
http://stackoverflow.com/questions/2336699/net-check-if-directory-is-accessible-without-exception-handling
راجع ليك ان شاء الله قريبا بحل امثل بالفيجوال .
السلام عليكم.


التحقق من امكانية الوصول الى محتوى المجلد - kslawy - 22-05-13

قم بتجاهل المجلد System Volume Information عند البحث عن الملفات


PHP كود :
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click        
Dim folders 
= New DirectoryInfo("D:\").GetDirectories

Dim files = New List(Of FileInfo)

For Each folder In From d In folders Where d.Name <> "
System Volume Information"            

files.AddRange(folder.GetFiles("
*.*", SearchOption.TopDirectoryOnly)) 

Next

Me.ListBox1.Items.AddRange(files.ToArray)

End Sub 

***
**
*


التحقق من امكانية الوصول الى محتوى المجلد - azizos - 22-05-13

السلام عليكم
الحل هو كالتالي :


كود :
متغيير به المسار المطلوب يمكنك الاستعانة ب Dialogbox
Dim path As String = "C:\System Volume Information"
متغيير لحفظ خصائص المجلد المطلوب
        Dim logDirectoryProperties As System.IO.DirectoryInfo

تحديد المجلد المطلوب :
        logDirectoryProperties = My.Computer.FileSystem.GetDirectoryInfo(path)

        Try
هنا يحاول البرنامج تسجيل الخصائص ، عدد الملفات الفرعية ، المجلدات ، الحجم ، التاريخ ...
            logDirectoryProperties.GetDirectories()
        Catch ex As Exception
عند ظهور الخطأ يعني هدا عدم السماح للبرنامج بفتح المجلد المطلوب
  MessageBox.Show(ex.Message)
            End
        End Try
ان لم يظهر خطأ فكل شيء بخير .
        MessageBox.Show("عدد الجلدات الفرعية هو : " & logDirectoryProperties.GetDirectories.Length)

بالتوفيق اخي .


التحقق من امكانية الوصول الى محتوى المجلد - ali.alfoly - 23-05-13

جزاك الله خير اخى [b]kslawy[/b] فعلا فكرة التجاهل اثناء البحث فكرة مميزه لاكن فلنفترض ان المجلدات اكثر من مجلد
مثل RECYCLER و System Volume Information و $RECYCLE.BIN وغيرهم من المجلدات التى اريد تجاهلها

جزاك الله خير اخى [b]azizos[/b] فعلا فكره ممتازه وهى بالاعتماد على خصائص المجلد فعلا ممتازه جدا بارك الله فيك