منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
خطأ في أرسال مجلد - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم مكتبة اكواد VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=185)
+--- الموضوع : خطأ في أرسال مجلد (/showthread.php?tid=13868)

الصفحات: 1 2


خطأ في أرسال مجلد - adel27 - 19-11-15

الســلام عليكم ورحمة الله وبركاته

كود :
 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


RE: خطأ في أرسال مجلد - حريف برمجة - 19-11-15

اتوقع المجلد ما ينقل ،، قم بانشاء مجلد جديد بنفس الاسم في المسار المراد ،، وقم بنقل الملفات التي بداخله للمجلد الجديد .


RE: خطأ في أرسال مجلد - adel27 - 19-11-15

إذا كلامك صحيح فأنا في ورطه كبيـره  Angel


RE: خطأ في أرسال مجلد - HASAN6.0 - 19-11-15

(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


RE: خطأ في أرسال مجلد - مهموم - 19-11-15

السلام عليكم ورحمة الله

أخي عادل

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



RE: خطأ في أرسال مجلد - adel27 - 19-11-15

الله يعطيك العافيه بس يعطيني خطأ لما أطبقه داخل جهازي لأنني حالياً بعيد عن السيرفر

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


RE: خطأ في أرسال مجلد - مهموم - 19-11-15

السلام عليكم ورحمة الله

أخي عادل

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


RE: خطأ في أرسال مجلد - adel27 - 19-11-15

عليكم السـلام أخوي مهموم فرج الله همك

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

عطاني خطأ نص الخطأ (صياغة المسـار غير مسموح بها)...!!


RE: خطأ في أرسال مجلد - HASAN6.0 - 19-11-15

حاول تشغل البرنامج As Administrator


RE: خطأ في أرسال مجلد - مهموم - 19-11-15

السلام عليكم ورحمة الله

أخي عادل

لنشرح عمل 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