منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : التحقق من امكانية الوصول الى محتوى المجلد
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله
ما هى الدالة التى استخدمها للتحقق من امكانية الوصول لمحتوى المجلد
مثلا المجلد
C:\Program Files
يمكننا الوصول الى محتواه
اما المجلد
C:\System Volume Information
فلا يمكننا الوصول الى محتواه
كيف اتحقق من ذلك
ظنيت انها هذه الدالة لاكن معرفتش اتعامل معها
كود :
System.IO.Directory.GetAccessControl("C:\System Volume Information")
السلام عليكم
حاولت عدة مرات لكن دون جدوى لدا استعملت طريقة بسيطة filestram احاول صنع ملف داخل المجلد ادا تم القبول فبأمكاني الوصول اليه و الا فلا و لكن الحل يعني جزئيا غير نافع
حاول مع غوغل بواسطة المفتاح التالي : Check Access Rights to File/Directory on NTFS Volume ستجد حلول كثيرة اختر منها ما يلائمك
بالتوفيق .
جزاك الله خير اخى
لم اجد حل
هل من حل بارك الله فيكم
السلام عليكم
يمكن الاستعانة ب C# نظرا لتخصصه في التعامل مع الملفات و الكود كالتالي فالصفحة هناك حلان :
http://stackoverflow.com/questions/11709...sible-in-c
http://stackoverflow.com/questions/23366...n-handling
راجع ليك ان شاء الله قريبا بحل امثل بالفيجوال .
السلام عليكم.
قم بتجاهل المجلد 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 

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


كود :
متغيير به المسار المطلوب يمكنك الاستعانة ب 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)

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

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