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

نسخة كاملة : أريد كود عمل فرمته لبرتشن الويندوز
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم 
عايز كود لفرمتته برتشن معين
سوف أقوم بتركيب هارد وتعريفه علي الجهاز ومن ثم يقوم البرنامج تلقائياً بعمل فرمته للبرتشن إلي عليه الويندوز 
وعليكم السلام ورحمة الله وبركاته

فى البداية هل تريد عمل فورمات لبارتشن C
خاصة الهارد ديسك الذى تم اضافته جديداً

ام من على الهارد ديسك الرئيسي الذى يعمل من عليه النخة فعلاً

اذا كان الهارد ديسك الرئيسي فلا يمكنك ذلك
لان النظام يعمل والكثير من الملفات نشطة فيعنى ان الفورمات مستحيل

اذا كان المقصود من الهارد ديسك الثاني
فكل ما عليك ابسط الامر هو عمل تحقق بان اذا كان البارتشن يحتوى على مجلد Windows
كذلك من الممكن تحقق ايضاً معه بانه يحتوى على مجلد users

فبناءاً عليه يقوم بعمل فورمات الى هذا البارتشن

وحتى احول الشرح النظري الى عملى بكود
عليك توضيح اولاً ما الفكرة من استخدام الامر الفعلى

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

اليك الكود قم باضافته فى اى حدث تريده
كود :
       Dim MyDrives As New ListBox
       For Each Drive In System.IO.DriveInfo.GetDrives()
           If Drive.DriveType = IO.DriveType.Fixed Then
               For Each a In System.IO.Directory.GetDirectories(Drive.Name)
                   If Not Drive.Name = "C:\" Then
                       If a = Drive.Name & "Windows" Or a = Drive.Name & "Users" Or a = Drive.Name & "Program Files" Then
                           MyDrives.Items.Add(Drive.Name)
                       End If
                   End If
               Next
           End If
       Next

       If MyDrives.Items.Count <> 0 Then
           If MyDrives.Items(0) = MyDrives.Items(1) And MyDrives.Items(0) = MyDrives.Items(2) Then
               ' كود التهيئة الدرايف فقط قم بازالة كلمة REM
               REM Process.Start("format.com", MyDrives.Items(0))
               MessageBox.Show("Format Drive: " & MyDrives.Items(0), "Done!.")
           End If
       Else
           MsgBox("لا يوجد درايف يحتوى على ملفات النظام لاعادة التهيئة.")
       End If

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

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

حيث ان الكود يقوم بالتحقق على 3 مراحل بتواجد كلاً من
مجلد Windows وايضاً Users وايضاً Program Files
سيقوم بتهيئة هذا الدرايف حتى ولو تم تواجد الـ 3 مجلدات فى الدرايف D الخاص بك
وكذلك انه يقوم بتخطى درايف C الخاص بك من فحص كلاً من المجلدات المذكور بالاعلى

يعنى سيتم بداء البحث ابتداءاً من A الى Z مع تخطي C اذا وجد كلاً من 3 مجلدات سيقوم بعمل التهيئة
عملية A:Z يتم على الهارد ديسك فقط بمعنى لو كان عندك درايف F خاص بالدى فى دى سيتم تخطيه ايضاً
اذا كان لديك A يخص Floppy Disk سيتم تخطى ايضاً وكذلك اذا كنت تقوم بعمل درايف Network كذلك سيتم تخطي

لتفعيل علملية التهيئة فى الكود بالاعلى
تعال على السطر التالى
كود :
               REM Process.Start("format.com", MyDrives.Items(0))

واستبدله بـ
كود :
               Process.Start("format.com", MyDrives.Items(0))

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

اذا قمت باختبار الكود مباشراً فلا تقلقل لم يحدث اى ضرر
فقط كل ما عليك ان تتاكد بان اى درايف لديك لا يتحتوى على كلاً 3 مجلدات 
المذكور بالاعلى معاً مثلاً على D او E وما شبه خلاف C

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