تقييم الموضوع :
  • 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 ك ب / التحميلات : 80)
}}}
تم الشكر بواسطة:
#8
تم ايجاد الحل
}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تعديل طول حقل معين في جميع جداول القاعدة atefkhalf2004 1 97 09-03-24, 03:17 AM
آخر رد: atefkhalf2004
  تحميل جميع الماسحات الضوئية المتصلة بالجهاز في كومبوبوكس جيولوجي مبتدئ 2 202 22-02-24, 07:10 PM
آخر رد: جيولوجي مبتدئ
  البرنامج لدي يعمل على ويندوز 11 والان لا يعمل على ويندوز 10 ماهو الحل moh61 1 279 01-09-23, 04:38 AM
آخر رد: اسامه الهرماوي
  [VB.NET] احتاج كود يغلق جميع الفورم ويبقي فقط الفورم Home Ali_hassn 4 545 15-08-23, 06:43 PM
آخر رد: Alexander Max2
  سؤال حول اغلاق جميع النوافذالمفتوحة maherhaddaf 3 455 20-07-23, 08:48 AM
آخر رد: maherhaddaf
  أريد كود لغلق جميع النوافذ عند تسجيل الخروج Emam emam 2 502 10-07-23, 02:12 AM
آخر رد: Emam emam
  ممكن الحل masport tv 0 295 07-04-23, 11:36 AM
آخر رد: masport tv
Exclamation [سؤال] كيف اشغل برنامجي على جميع الفريموروك mudz 41 47,787 20-12-22, 01:20 AM
آخر رد: kebboud
  ارجو ان لا تبخلو علينا با الحل ahmedbezia 3 466 06-12-22, 01:29 PM
آخر رد: ahmedbezia
  [VB.NET] هل يوجد طريقة لجعل البرنامج يظهر فوق جميع البرامج mohamedahmed1 3 787 31-10-22, 01:26 AM
آخر رد: mohamedahmed1

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


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