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

نسخة كاملة : كيف يمكن حذف مجلد فارغ أوغير فارغ
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله

بحثت في المنتدى عن طريقة بسيطة لحذف مجلد غير فارغ فما وجدت البساطة التي أبحث عنها

ولهذا أطرح هذا الموضوع للنقاش والمساهمة

تحياتي
Heart
تفضل
Delete a folder and all its subfolders
كود :
' NOTE: this code requires that you add a reference to the
'       Microsoft Scripting Runtime type library

' delete the C:\TEMP directory and all its sub-directories
Dim fso As New Scripting.FileSystemObject
fso.DeleteFolder "c:\temp"

'You can also pass a second argument and set it to True if you want to force the deletion of read-only files:
fso.DeleteFolder "c:\temp", True
السلام عليكم ورحمة الله

شكرا أخي الفاضل V 2017 6على الكود

إضافة إلى الموضوع:


هذه طريقة إضافة  Microsoft Scripting Runtime إلى مرجعيات المشروع


1- نفتح مشروعا جديدا في 6 vb



2- نتبع المسار التالي:  مشروع (project  أو  projet) ثم  نضغط على reference من الصفحة التي تظهر نبحث عن
      Microsoft Scripting Runtime  ونؤشر أمامها ثم نضغط OK


 لأنه بدون هذه الإضافة لا يشتغل البرنامج



  1. Start a new Standard EXE project in Visual Basic. Form1 is created by default   

2.

Click References on the Project menu and select the Microsoft Scripting Runtime             .
تفضل بدون إضافة Microsoft Scripting Runtime إلى مرجعيات المشروع

PHP كود :
Dim fso As Object
fso 
CreateObject("Scripting.FileSystemObject")

fso.DeleteFolder "c:\temp"True 
السلام عليكم
الف شكر على هذه الفكرة الممتازة
طبعا لا بد أن نعرف الشيء أو نضيفه وهذا حسب كيفية كتابة الكود
أكرر شكري لك أخي الحبيب

Heart
أشكرك أخي جورج

نعم كلامك صحيح، فهذا عيب CreateObject، فلابد من معرفة الطرائق الخاصة بها، لأنها لن تظهر تلقائيا في الكود

مثلا يمكن البحث في جوجل عن Scripting.FileSystemObject فتظهر النتائج فندخل على الرابط
https://msdn.microsoft.com/en-us/library...s.84).aspx

ومنها نختار FileSystemObject Methods فتظهر الصفحة
https://msdn.microsoft.com/en-us/library...s.84).aspx

ومنها نختار ما نريد عمله مثل حذف المجلد DeleteFolder Method فتظهر
https://msdn.microsoft.com/en-us/library...s.84).aspx

وفيها طريقة كتابة الكود.


وأشكرك أخي جورج.
بارك الله فيك أخي الحبيب
طبعا الكود كان موجودا عندي مسبقا
لكنني فضلت أن أطرح الفكرة للمناقشة والإثراء حتى نستفيد كلنا من خبرات وتجارب الجميع
وبإذن الله تعالى سوف أثير قضايا ومسائل أخرى حتى تعم الفائدة
وبهذه الطريقة سوف ننشر المفاهيم والمعرفة ونسأل الله أن تكون أعمالنا خالصة لوجهه و أن نطبق ما نتعلمه في مرضاة الله Heart
أشكرك أخي جورج

وإثراءً لهذا الموضوع وجدت كود لحذف ملف أو مجلد ولكن يرسله لسلة المحذوفات Recycle Bin
الكود هذا الرابط
https://www.daniweb.com/programming/soft...-using-vb6

وهذا الكود
كود :
Private Sub Recycle2(ByVal FQFileOrFolder As String)
    'Late bound.
    Dim Delim As Integer
    Dim FItem As Object
    Const ssfBITBUCKET = 10
    
    Delim = InStrRev(FQFileOrFolder, "\")
    With CreateObject("Shell.Application")
        For Each FItem In .NameSpace(Left$(FQFileOrFolder, Delim - 1)).Items
            If Not FItem.IsLink Then
                If UCase$(FItem.Name) = UCase$(Mid$(FQFileOrFolder, Delim + 1)) Then
                    .NameSpace(ssfBITBUCKET).MoveHere FItem
                    Exit Sub
                End If
            End If
        Next
    End With
    Err.Raise 52
End Sub