تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
معرفة اسامي الملفات التنفيذية
#1
مرحبا

انا عملت مشروع بسيط لمعرفة اسماء الملفات التنفيذية في اي ملف مع المسار واستخدمت هاذا الكود


 
كود :
       Dim file2 As String() = Directory.GetFiles("C:\ProgramData", "*.exe")
       For Each b In file2
           TextBox2.Text += b + Environment.NewLine
       Next



مشكلة هاذا الكود لابد من كتابة المسار حتى يضهر جميع اسماء الملفات التنفيذية بصيغة exe

لاكن المطلوب كود مشابه له ويضهر جميع اسماء الملفات في كافة الملفات في الجهاز يعني اضهار شامل
الرد }}}
تم الشكر بواسطة:
#2
القى نظرة على هذا الرابط 

ستجد به الكود لـ Sub التالى
كود :
Private Sub Search_Exe(ByVal StartDir As String)
   Dim Dirs As IEnumerable(Of String) = Nothing
   Try
       Dim files() As String
       Dirs = IO.Directory.EnumerateDirectories(StartDir)
       files = IO.Directory.EnumerateFiles(StartDir) _
           .Where(Function(CurrentFile As String)
                      Dim Extention = IO.Path.GetExtension(CurrentFile)
                      If Extention.ToLower = ".exe" Then
                          Return True
                      Else
                          Return False
                      End If
                  End Function).ToArray
       ListBox1.Items.AddRange(files)
   Catch ex As Exception
       'Just Skip the denied access dirs
   End Try
   ' kevininstructor added check for Nothing
   If Dirs IsNot Nothing Then
       For Each Dir As String In Dirs
           Search_Exe(Dir)
       Next
   Else
       ' Access denied thrown in Catch above
   End If
End Sub

وعند تطبيق الامر فقط سيكون بهذا الشكل
كود :
Search_Exe("C:\")

بدلاً من 
PHP كود :
C:\ 

يمكنك وضع اى مسار اذا كان مجلد وتحتوى على عديد من المجلدات الداخلية
فسيقوم بالبداء بالبحث بهذا المجلد وما بداخل المجلدات التى بداخل هذا المسار فقط

اتمنى ان يكون الكود بسيط لك
وان يكون هذا ما تريده تماماً

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: dasktop , ابو روضة
#3
(30-10-18, 01:42 PM)elgokr كتب :
القى نظرة على هذا الرابط 

ستجد به الكود لـ Sub التالى
كود :
Private Sub Search_Exe(ByVal StartDir As String)
   Dim Dirs As IEnumerable(Of String) = Nothing
   Try
       Dim files() As String
       Dirs = IO.Directory.EnumerateDirectories(StartDir)
       files = IO.Directory.EnumerateFiles(StartDir) _
           .Where(Function(CurrentFile As String)
                      Dim Extention = IO.Path.GetExtension(CurrentFile)
                      If Extention.ToLower = ".exe" Then
                          Return True
                      Else
                          Return False
                      End If
                  End Function).ToArray
       ListBox1.Items.AddRange(files)
   Catch ex As Exception
       'Just Skip the denied access dirs
   End Try
   ' kevininstructor added check for Nothing
   If Dirs IsNot Nothing Then
       For Each Dir As String In Dirs
           Search_Exe(Dir)
       Next
   Else
       ' Access denied thrown in Catch above
   End If
End Sub

وعند تطبيق الامر فقط سيكون بهذا الشكل
كود :
Search_Exe("C:\")

بدلاً من 
PHP كود :
C:\ 

يمكنك وضع اى مسار اذا كان مجلد وتحتوى على عديد من المجلدات الداخلية
فسيقوم بالبداء بالبحث بهذا المجلد وما بداخل المجلدات التى بداخل هذا المسار فقط

اتمنى ان يكون الكود بسيط لك
وان يكون هذا ما تريده تماماً

تحياتى لك
وتمنياتى لك التوفيق



ضهر الخطا التالي

الرد }}}
تم الشكر بواسطة:
#4
قبل كلاً من IO
ضع هذه الجملة
كود :
System.

ليصبح كلا من السطرين بهذا الشكل
كود :
           Dirs = System.IO.Directory.EnumerateDirectories(StartDir)
           files = System.IO.Directory.EnumerateFiles(StartDir) _

او يكفى استدعاء باستخدام الكود التالى
كود :
Imports System.IO

من ثم جعل كل من السطرين بهذا الشكل
كود :
           Dirs = Directory.EnumerateDirectories(StartDir)
           files = Directory.EnumerateFiles(StartDir) _


تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة:
#5
(30-10-18, 09:02 PM)elgokr كتب :
قبل كلاً من IO
ضع هذه الجملة
كود :
System.

ليصبح كلا من السطرين بهذا الشكل
كود :
           Dirs = System.IO.Directory.EnumerateDirectories(StartDir)
           files = System.IO.Directory.EnumerateFiles(StartDir) _

او يكفى استدعاء باستخدام الكود التالى
كود :
Imports System.IO

من ثم جعل كل من السطرين بهذا الشكل
كود :
           Dirs = Directory.EnumerateDirectories(StartDir)
           files = Directory.EnumerateFiles(StartDir) _


تحياتى لك
وتمنياتى لك التوفيق


لم يتغير الخطا حتى جربت تغيير الى system.io

الرد }}}
تم الشكر بواسطة:
#6
بما ان الرسالة تبقي كما هى 
فهنا يبقي المشكلة فى .net framework

من خلال التعديل فى My Project
طبق كما فى الصورة وما اعلى من اصدار

تذكر بان لا يكون الفريم يحتوى على كلمة Client Profile
عند اختيار الاصدار 4 وما اعلى ستجد المشكلة حلت بامر الله

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة:
#7
(31-10-18, 11:30 PM)elgokr كتب :
بما ان الرسالة تبقي كما هى 
فهنا يبقي المشكلة فى .net framework

من خلال التعديل فى My Project
طبق كما فى الصورة وما اعلى من اصدار

تذكر بان لا يكون الفريم يحتوى على كلمة Client Profile
عند اختيار الاصدار 4 وما اعلى ستجد المشكلة حلت بامر الله

تحياتى لك
وتمنياتى لك التوفيق


المشكلة الاولى انحلت ولاكن ضهر خطا واحد حاولت احله لم ينتهي

الرد }}}
تم الشكر بواسطة: elgokr
#8
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Dim dialog = New FolderBrowserDialog()
       dialog.SelectedPath = "C:\"
       If DialogResult.OK = dialog.ShowDialog() Then
           FindDir(dialog.SelectedPath)
       End If
   End Sub
   Sub FindDir(Folder As String)
       For Each file In IO.Directory.GetFiles(Folder, "*.exe", searchOption:=IO.SearchOption.AllDirectories)
           TextBox1.Text += file.ToString + Environment.NewLine
       Next
   End Sub
الرد }}}
تم الشكر بواسطة: elgokr , elgokr
#9
(01-11-18, 11:07 AM)dasktop كتب : المشكلة الاولى انحلت ولاكن ضهر خطا واحد حاولت احله لم ينتهي


بخصوص الخطاء هنا يرجع لاصدار لديك
لا يقبل الاستكمال الاسطر من خلال _

كل الامر ستاتى عند هذه الاسطر

كود :
      files = IO.Directory.EnumerateFiles(StartDir) _
          .Where(Function(CurrentFile As String)

واجعلها بهذا الشكل
كود :
      files = IO.Directory.EnumerateFiles(StartDir).Where(Function(CurrentFile As String)

وستتم حل المشكلة


ليصبح الشكل النهائي للكود
كود :
   Private Sub Search_Exe(ByVal StartDir As String)
       Dim Dirs As IEnumerable(Of String) = Nothing
       Try
           Dim files() As String
           Dirs = IO.Directory.EnumerateDirectories(StartDir)
           files = IO.Directory.EnumerateFiles(StartDir).Where(Function(CurrentFile As String)
                                                                   Dim Extention = IO.Path.GetExtension(CurrentFile)
                                                                   If Extention.ToLower = ".exe" Then
                                                                       Return True
                                                                   Else
                                                                       Return False
                                                                   End If
                                                               End Function).ToArray
           ListBox1.Items.AddRange(files)
       Catch ex As Exception
           'Just Skip the denied access dirs
       End Try
       ' kevininstructor added check for Nothing
       If Dirs IsNot Nothing Then
           For Each Dir As String In Dirs
               Search_Exe(Dir)
           Next
       Else
           ' Access denied thrown in Catch above
       End If
   End Sub

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة:
#10
لم ينتهي الخطا علماً غيرت الاصدار ولازال باقي
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم