تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
(تم الحل) نقل جميع ما بداخل المجلد الى مجلد آخر
#1
السلام عليكم ورحمة الله وبركاته

اخواني هذا كود يقوم بنقل الملفات من مجلد من C الى مجلد في الـ D

لكن الكود يقوم بنسخ فقط الملفات وانا اريد نقل كل ما يوجد في المجلد نسخة ونقله الى المجلد الموجود في الـ D

PHP كود :
Private Sub CopeFileAndFolder()
        
Dim T_True As Boolean False
        Dim FOLDERDATE 
As String
        FOLDERDATE 
Me.lblDateToDay.Text

        Dim drP 
As New DirectoryInfo("C:\P\WORK\")
        Dim drT As New DirectoryInfo("
C:\T\WORK\")
        Dim filesInfoP() As FileInfo = drP.GetFiles("
*.*", SearchOption.AllDirectories)
        Dim filesInfoT() As FileInfo = drT.GetFiles("
*.*", SearchOption.AllDirectories)
        For Each f As FileInfo In filesInfoP
            If Not My.Computer.FileSystem.DirectoryExists("
D:\XBACKUP\P\" & FOLDERDATE & "\work\") Then My.Computer.FileSystem.CreateDirectory("D:\XBACKUP\P\" & FOLDERDATE & "\work\")
            f.CopyTo("
D:\XBACKUP\P\" & FOLDERDATE & "\work\" & f.Name & "", True)
            T_True = True
        Next
        For Each f As FileInfo In filesInfoT
            If Not My.Computer.FileSystem.DirectoryExists("
D:\XBACKUP\T\" & FOLDERDATE & "\work\") Then My.Computer.FileSystem.CreateDirectory("D:\XBACKUP\T\" & FOLDERDATE & "\work\")
            f.CopyTo("
D:\XBACKUP\T\" & FOLDERDATE & "\work\" & f.Name & "", True)
            T_True = True
        Next
       
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        CopeFileAndFolder()
    End Sub 
تم الشكر بواسطة:
#2
الف شكر وجدت هذا الكود ومشي الحال 100%

وهذا الكود للاستفادة منه
PHP كود :
Public Shared Function moveDirectoryContent(ByVal srcDir As StringByVal destDir As String) As Integer
        Dim countFile 
As Integer 0
        
If (Not Directory.Exists(destDir)) Then
            Directory
.CreateDirectory(destDir)
        
End If
        
Dim listFiles() As String Directory.GetFileSystemEntries(srcDir)
        
Dim curFile As String

        
For Each curFile In listFiles
            
If Directory.Exists(curFileThen
                countFile 
countFile moveDirectoryContent(curFilePath.Combine(destDirPath.GetFileName(curFile)))
            Else
                
Dim dstFile Path.Combine(destDirPath.GetFileName(curFile))
                
File.Copy(curFiledstFileTrue)
                
countFile countFile 1
            End 
If
        
Next
        
Return countFile
    End 
Function

    Private 
Sub Button2_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button2.Click
        Dim FOLDERDATE 
As String
        FOLDERDATE 
Me.lblDateToDay.Text
        
If Not My.Computer.FileSystem.DirectoryExists("D:\XBACKUP\P\" & FOLDERDATE & "\work\") Then My.Computer.FileSystem.CreateDirectory("D:\XBACKUP\P\" & FOLDERDATE & "\work\")
        If Not My.Computer.FileSystem.DirectoryExists("
D:\XBACKUP\T\" & FOLDERDATE & "\work\") Then My.Computer.FileSystem.CreateDirectory("D:\XBACKUP\T\" & FOLDERDATE & "\work\")

        moveDirectoryContent("
C:\P\WORK\", "D:\XBACKUP\P\" & FOLDERDATE & "\work\")
        moveDirectoryContent("
C:\T\WORK\", "D:\XBACKUP\T\" & FOLDERDATE & "\work\")
    End Sub 
تم الشكر بواسطة:
#3
ان شاء الله يفي بالغرض

كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim fileList = My.Computer.FileSystem.GetFiles(My.Computer.FileSystem.SpecialDirectories.Desktop,
             Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories, "*.*")

        For Each foundFile In fileList
            My.Computer.FileSystem.MoveFile(foundFile,
                "C:\Hamza-Yassine\" & My.Computer.FileSystem.GetFileInfo(foundFile).Name)
        Next
    End Sub
End Class
تم الشكر بواسطة:
#4
اخواني الكرام
في المشاركة رقم 2 الكود شغال بشكل ممتاز لكن هناك مشكلة في حالة كان احد الملفات أو المجلدات مفتوح يظهر خطأ

هل هناك طريقة بنقل جميع الملفات والمجلدات حسب الكود حتى وان كان هناك ملف او مجلد مفتوح وبدون ظهور الخطأ
تم الشكر بواسطة:
#5
تستطيع تجاوز الخطأ بعدم إقفال البرنامج وظهور للمستخدم رسالة بإضافة جملة Try للإجراء

ولاكن لا تستطيع نقل مجلد أو ملف مفتوح

حتى بنظام الويندوز نفسه جرب تفتح ملف وهو مفتوح نفذ عليه امر القص واللصق
سيأتي لك رسالة بان لايمكن نقل الملف لانه مفتوح
Big Grin
<---------------------------------------------------------------->

تم الشكر بواسطة:
#6
لن تستطيع عمل ذلك من خلال .Net ولكن من خلال دوال API
وإليك الكود

PHP كود :
Private Declare Function apiCopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As StringByVal lpNewFileName As String_
 ByVal bFailIfExists 
As Integer) As Integer

ثم نقوم باستدعاء الدالة وليكن هكذا

 
Private Sub Button1_Click(sender As ObjectAs EventArgsHandles Button1.Click
        apiCopyFile
("c:\test.txt""e:\test.txt"0)
    
End Sub 
تم الشكر بواسطة:
#7
المثال المرفق تستطيع نسخ أى ملفات موجودة داخل أى فولد حتى ولو الملف مفتوح
المثال ب visual 2012
قم بفتح form1.vb بواسطة الاستوديو الموجدود لديك أو ب notepad وقم بالإطلاع على الكود

تحياتى


الملفات المرفقة
.rar   copyfolder.rar (الحجم : 87.08 ك ب / التحميلات : 62)
تم الشكر بواسطة:
#8
تم ايجاد الحل
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] البحت عن اسم من excel في جميع الشيتات واضافته الداتا قريد فيو devxs 9 101 11-06-18, 09:42 AM
آخر رد: elgokr
  ترتيب الملفات في المجلد حسب تاريخ التعديل مع حذف الاقدم atefkhalf2004 3 43 06-06-18, 04:56 PM
آخر رد: mrnooo2000
  قفل مجلد بكلمة سر برمجيا bidaya 3 54 28-05-18, 07:12 PM
آخر رد: elgokr
  استخراج مجلد وملفات من داخل قرص ابو روضة 8 96 26-05-18, 07:36 PM
آخر رد: ابو روضة
  ما الحل فى هذه الرسالة اثناء الحفظ محمد ابوخليل 5 81 14-05-18, 12:42 AM
آخر رد: elgokr
  [سؤال] عايز اعرف ايه السبب وايه الحل؟ RaiseEvent الماجيك مسعد 6 116 11-05-18, 09:16 PM
آخر رد: الماجيك مسعد
  [VB.NET] (تم الحل)مساعدة في تغيير اسم حقل في جدول blida02 5 96 11-05-18, 06:05 PM
آخر رد: boudyonline
Exclamation [سؤال] كيف اشغل برنامجي على جميع الفريموروك mudz 29 13,640 06-05-18, 01:07 PM
آخر رد: viv
  [كود] طلب كود لعمل مجلد لكل حالة issamsaidd 13 293 03-05-18, 12:38 AM
آخر رد: issamsaidd
  [سؤال] كيفية الحصول علي مساحة مجلد بالبايت في فجول بيسك Iman Mohamed Omran 4 153 30-04-18, 06:49 PM
آخر رد: Iman Mohamed Omran

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم