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

نسخة كاملة : خطأ في أرسال مجلد
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
الســلام عليكم ورحمة الله وبركاته

كود :
 If (FolderBrowserDialog1.ShowDialog() = DialogResult.OK) Then

           My.Computer.FileSystem.MoveDirectory(FolderBrowserDialog1.SelectedPath, "\\22.22.22.1\My Documents\132\", True)

       End If

       TextBox1.Text = FolderBrowserDialog1.SelectedPath
 هذا الكود أختار المجلد من سطح المكتب وأرسـله إلى هذا المسـار 


المشـلكه وهي لما أرسل أي مجلد لنفترض مجلد 11 أرسـله يأخذ اللي بداخل المجلد ويضعها في المسـار الموضح أعلاه 

أنا أبيه يرسـل المجلد كامل باللي فيه يـرسل مجلد11 باللي فيه داخل المسـار في مجلد 132
اتوقع المجلد ما ينقل ،، قم بانشاء مجلد جديد بنفس الاسم في المسار المراد ،، وقم بنقل الملفات التي بداخله للمجلد الجديد .
إذا كلامك صحيح فأنا في ورطه كبيـره  Angel
(19-11-15, 05:47 PM)adel27 كتب : [ -> ]إذا كلامك صحيح فأنا في ورطه كبيـره  Angel

اخي عادل , خذ هذا الكود ... شغال 100%
كود :
Cursor = Cursors.WaitCursor
       Dim serverPath As String = "\\192.168.1.2\Programs\"
       Dim op As New FolderBrowserDialog
       If op.ShowDialog = Windows.Forms.DialogResult.OK Then

           Dim MyPath As String = serverPath & Path.GetFileName(op.SelectedPath)
           If (Not System.IO.Directory.Exists(MyPath)) Then
               System.IO.Directory.CreateDirectory(MyPath)
           End If
           My.Computer.FileSystem.MoveDirectory(op.SelectedPath, MyPath)
       End If
       Cursor = Cursors.Default
       MsgBox("Done !!")
ضع في  serverPath  مكان الحفظ .. وتأكد من انه ينتهي بـ \   Rolleyes
السلام عليكم ورحمة الله

أخي عادل

جرب تعديل هذا السطر
PHP كود :
My.Computer.FileSystem.MoveDirectory(FolderBrowserDialog1.SelectedPath"\\22.22.22.1\My Documents\132\" & IO.Path.GetFileName(FolderBrowserDialog1.SelectedPath), True) 
الله يعطيك العافيه بس يعطيني خطأ لما أطبقه داخل جهازي لأنني حالياً بعيد عن السيرفر

ياليت إذا فيه تعديـل على الكود حقي أكون من الشاكرين
السلام عليكم ورحمة الله

أخي عادل

أنا عدلت سطر واحد من الكود الخاص بك، فقط قم باستبداله ذلك السطر
عليكم السـلام أخوي مهموم فرج الله همك

وضعت الكود جربته على مسـار "C:\Users\DOL\Desktop\"

عطاني خطأ نص الخطأ (صياغة المسـار غير مسموح بها)...!!
حاول تشغل البرنامج As Administrator
السلام عليكم ورحمة الله

أخي عادل

لنشرح عمل MoveDirectory لتتضح الصورة

الأمر MoveDirectory يحتاج منك أمرين تمررهم له وهما
SourceDirectoryName وهو اسم المجلد المطلوب نقله بمساره كاملاً.
DestinationDirectoryName إسم المجلد المطلوب النقل له بمساره كاملاً.

المطلوب الأول معروف لا إشكال فيه وهو كما في الكود الذي وضعته وهو SelectedPath.

المطلوب الثاني هو الذي يحتاج أن تعرفه بشكل جيد،
وهو أنه لو كتبت المسار الهدف فقط فيحدث ما صادفته وهو محتويات المجلد الأساسي،
إذا يجب إضافة اسم مجلد مطابق للمجلد المنقول وسيقوم أمر النقل بإنشاءه إن لم يكن موجوداً،
وهذا هو سبب وجود الأمر IO.Path.GetFileName ليأخذ آخر اسم مجلد من المسار الأول ويضيفه إلى المسار الهدف.

أخي عادل، يبدو أنك تتجاهل الأمر IO.Path.GetFileName وبتجاهلك له تسببت لنفسك بهذا الإشكال.

هذا آخر تعديل أقوم بوضعه لك وأعتقد أنه أكثر وضوحاً
PHP كود :
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click

    
' إنشاء مستعرض مجلدات
    Using folderBrowser As New FolderBrowserDialog

        ' 
عند الموافقة على مجلد معين
        If folderBrowser
.ShowDialog Windows.Forms.DialogResult.OK Then

            
' تحديد المسار المصدر الآتي من مستعرض المجلدات
            Dim sourceDirectoryName As String = folderBrowser.SelectedPath

            ' 
GetFileName تحديد المسار الهدف مع إضافة إسم مجلد مطابق لإسم المجلد المصدر السابق عن طريق استخلاصه بواسطة الأمر
            Dim destinationDirectoryName 
As String "\\22.22.22.1\My Documents\132\" & IO.Path.GetFileName(sourceDirectoryName)

            ' هذا السطر لا تعدل فيه شيء لأنه سيأخذ المسارات من المتغيرين السابقين
            My.Computer.FileSystem.MoveDirectory(sourceDirectoryName, destinationDirectoryName, True)

            ' هذا السطر هو رغبتك في عرض المسار المصدر في مربع نص
            TextBox1.Text = folderBrowser.SelectedPath

        End If

    End Using

End Sub 
الصفحات : 1 2