19-11-15, 11:02 PM
السلام عليكم ورحمة الله
أخي عادل
لنشرح عمل MoveDirectory لتتضح الصورة
الأمر MoveDirectory يحتاج منك أمرين تمررهم له وهما
SourceDirectoryName وهو اسم المجلد المطلوب نقله بمساره كاملاً.
DestinationDirectoryName إسم المجلد المطلوب النقل له بمساره كاملاً.
المطلوب الأول معروف لا إشكال فيه وهو كما في الكود الذي وضعته وهو SelectedPath.
المطلوب الثاني هو الذي يحتاج أن تعرفه بشكل جيد،
وهو أنه لو كتبت المسار الهدف فقط فيحدث ما صادفته وهو محتويات المجلد الأساسي،
إذا يجب إضافة اسم مجلد مطابق للمجلد المنقول وسيقوم أمر النقل بإنشاءه إن لم يكن موجوداً،
وهذا هو سبب وجود الأمر IO.Path.GetFileName ليأخذ آخر اسم مجلد من المسار الأول ويضيفه إلى المسار الهدف.
أخي عادل، يبدو أنك تتجاهل الأمر IO.Path.GetFileName وبتجاهلك له تسببت لنفسك بهذا الإشكال.
هذا آخر تعديل أقوم بوضعه لك وأعتقد أنه أكثر وضوحاً
أخي عادل
لنشرح عمل MoveDirectory لتتضح الصورة
الأمر MoveDirectory يحتاج منك أمرين تمررهم له وهما
SourceDirectoryName وهو اسم المجلد المطلوب نقله بمساره كاملاً.
DestinationDirectoryName إسم المجلد المطلوب النقل له بمساره كاملاً.
المطلوب الأول معروف لا إشكال فيه وهو كما في الكود الذي وضعته وهو SelectedPath.
المطلوب الثاني هو الذي يحتاج أن تعرفه بشكل جيد،
وهو أنه لو كتبت المسار الهدف فقط فيحدث ما صادفته وهو محتويات المجلد الأساسي،
إذا يجب إضافة اسم مجلد مطابق للمجلد المنقول وسيقوم أمر النقل بإنشاءه إن لم يكن موجوداً،
وهذا هو سبب وجود الأمر IO.Path.GetFileName ليأخذ آخر اسم مجلد من المسار الأول ويضيفه إلى المسار الهدف.
أخي عادل، يبدو أنك تتجاهل الأمر IO.Path.GetFileName وبتجاهلك له تسببت لنفسك بهذا الإشكال.
هذا آخر تعديل أقوم بوضعه لك وأعتقد أنه أكثر وضوحاً
PHP كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 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
