تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] نقل ملفات
#1
السلام عليكم 

الرجاء المساعدة في كتابة كود نقل جميع الصور في كل الاقراص او قرص محدد لمسار محدد  
الرد
تم الشكر بواسطة: ahmadpal
#2
(26-05-19, 04:00 PM)ابو خليل99 كتب :
السلام عليكم 

الرجاء المساعدة في كتابة كود نقل جميع الصور في كل الاقراص او قرص محدد لمسار محدد  

PHP كود :
My.Computer.FileSystem.CopyFile("C:\oldfile""C:\newfile"
الرد
#3
اذا تقصد نسخ فمثال بسيط اما نقل فهذا يعني حذف الملف من المصدر فسهل بتعديل بسيط.
مثال نسخ الملفات من مكان ما بامتداد او الكل الى مكان ما
الرد
#4
(26-05-19, 04:26 PM)ahmadpal كتب :
(26-05-19, 04:00 PM)ابو خليل99 كتب :
السلام عليكم 

الرجاء المساعدة في كتابة كود نقل جميع الصور في كل الاقراص او قرص محدد لمسار محدد  

PHP كود :
My.Computer.FileSystem.CopyFile("C:\oldfile""C:\newfile"


ِشكرا لك اخي الكريم 

لكن تظهر مشكلة بسبب الصلاحيات عند محاولة النقل من كامل القرص ...

(26-05-19, 11:21 PM)سعود كتب : اذا تقصد نسخ فمثال بسيط اما نقل فهذا يعني حذف الملف من المصدر فسهل بتعديل بسيط.
مثال نسخ الملفات من مكان ما بامتداد او الكل الى مكان ما

شكرا لك اخي سعود سوف اقوم بالتجربة واخبارك بالنتائج اخي الكريم

اخي سعود 

حاولت نقل جميع الملفات النصية في القرص d الي مسار محدد في القرص c 

يخبرني بنجاخ العملة انه تم النقل لكن للاسف لم يتم نقل اي ملف
الرد
تم الشكر بواسطة:
#5
هل من مساعدة !!!!

وجدت هذا الكود يعمل بشكل جيد ولكن يقوم باعادة تسمية الملفات وليس نسخها لمسار اخر 

حاولت تعديل الكود ولكن للاسف مثل مثال الاخ سعود لا يقوم بالنقل 

ممكن مساعدة في تعديل الكود ؟؟؟ 

الكود "

كود :
Module Module1

   Sub Main()
       Searcher("E:\")
   End Sub

   Sub Searcher(ByVal path As String)
       For Each file As String In System.IO.Directory.GetFiles(path)
           Try
               If file.EndsWith(".pdf") Then
                   System.IO.File.Copy(file, file.Replace(".pdf", "_.pdf"))
               End If
           Catch : End Try
       Next
       For Each directory As String In System.IO.Directory.GetDirectories(path)
           Try : Searcher(directory) : Catch : End Try
       Next
   End Sub
End Module
الرد
تم الشكر بواسطة:
#6
PHP كود :
Imports System.ComponentModel
Imports System
.IO

Public Class Form1
    Dim fromf 
As String ""
 
   Dim tof As String ""
 
   Dim fi As Integer 0
    Private Sub Button1_Click
(sender As ObjectAs EventArgsHandles Button1.Click
        Dim fb 
As New FolderBrowserDialog
        If fb
.ShowDialog DialogResult.OK Then
            tsp
.Text fb.SelectedPath
            If tsp
.Text.EndsWith("\") = False Then
                tsp.Text = tsp.Text.Insert(tsp.TextLength, "
\")
                fromf = tsp.Text
            End If
        End If
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim fb As New FolderBrowserDialog
        If fb.ShowDialog = DialogResult.OK Then
            tnp.Text = fb.SelectedPath
            If tnp.Text.EndsWith("
\") = False Then
                tnp.Text = tnp.Text.Insert(tnp.TextLength, "
\")
                tof = tnp.Text
            End If
        End If
    End Sub

    Private Sub Lbl(ByVal a As String)
        If l.InvokeRequired Then
            l.Invoke(New Action(Of String)(AddressOf Lbl), a)
        Else
            l.Text = a
        End If
    End Sub

    Private Sub prb(ByVal a As Boolean)
        If p.InvokeRequired Then
            p.Invoke(New Action(Of Boolean)(AddressOf prb), a)
        Else
            p.Value = a
        End If
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        If c1.Checked = False Then Exit Sub
        fi = 0
        If b.IsBusy = False Then
            Button3.Enabled = False
            Dim dir As New DirectoryInfo(fromf)
            p.Maximum = dir.GetFiles("
*.*").Count
            b.RunWorkerAsync()
        End If
    End Sub

    Private Sub B_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles b.DoWork
        Dim dir As New DirectoryInfo(fromf)
        b.ReportProgress(fi)
        For Each fl As FileInfo In dir.GetFiles("
*.*")
            Lbl(fl.FullName)
            fl.MoveTo(tof & "
\" & fl.Name)
            fi += 1
        Next
    End Sub

    Private Sub b_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles b.ProgressChanged
        prb(e.ProgressPercentage)
    End Sub

    Private Sub enb(ByVal l As Boolean)
        If Button3.InvokeRequired Then
            Button3.Invoke(New Action(Of Boolean)(AddressOf enb), l)
        Else
            Button3.Enabled = l
        End If
    End Sub
    Private Sub b_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles b.RunWorkerCompleted
        enb(True)
        Lbl("
done")
    End Sub
End Class 

الكود الاساسي هو:
PHP كود :
Dim dir As New DirectoryInfo(fromf)
 
       b.ReportProgress(fi)
 
       For Each fl As FileInfo In dir.GetFiles("*.*")
 
                      fl.MoveTo(tof "\" & fl.Name)
                  Next 


الملفات المرفقة
.zip   Files_Moving.zip (الحجم : 192.55 ك ب / التحميلات : 14)
الرد
#7
(28-05-19, 05:48 PM)سعود كتب :
PHP كود :
Imports System.ComponentModel
Imports System
.IO

Public Class Form1
    Dim fromf 
As String ""
 
   Dim tof As String ""
 
   Dim fi As Integer 0
    Private Sub Button1_Click
(sender As ObjectAs EventArgsHandles Button1.Click
        Dim fb 
As New FolderBrowserDialog
        If fb
.ShowDialog DialogResult.OK Then
            tsp
.Text fb.SelectedPath
            If tsp
.Text.EndsWith("\") = False Then
                tsp.Text = tsp.Text.Insert(tsp.TextLength, "
\")
                fromf = tsp.Text
            End If
        End If
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim fb As New FolderBrowserDialog
        If fb.ShowDialog = DialogResult.OK Then
            tnp.Text = fb.SelectedPath
            If tnp.Text.EndsWith("
\") = False Then
                tnp.Text = tnp.Text.Insert(tnp.TextLength, "
\")
                tof = tnp.Text
            End If
        End If
    End Sub

    Private Sub Lbl(ByVal a As String)
        If l.InvokeRequired Then
            l.Invoke(New Action(Of String)(AddressOf Lbl), a)
        Else
            l.Text = a
        End If
    End Sub

    Private Sub prb(ByVal a As Boolean)
        If p.InvokeRequired Then
            p.Invoke(New Action(Of Boolean)(AddressOf prb), a)
        Else
            p.Value = a
        End If
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        If c1.Checked = False Then Exit Sub
        fi = 0
        If b.IsBusy = False Then
            Button3.Enabled = False
            Dim dir As New DirectoryInfo(fromf)
            p.Maximum = dir.GetFiles("
*.*").Count
            b.RunWorkerAsync()
        End If
    End Sub

    Private Sub B_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles b.DoWork
        Dim dir As New DirectoryInfo(fromf)
        b.ReportProgress(fi)
        For Each fl As FileInfo In dir.GetFiles("
*.*")
            Lbl(fl.FullName)
            fl.MoveTo(tof & "
\" & fl.Name)
            fi += 1
        Next
    End Sub

    Private Sub b_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles b.ProgressChanged
        prb(e.ProgressPercentage)
    End Sub

    Private Sub enb(ByVal l As Boolean)
        If Button3.InvokeRequired Then
            Button3.Invoke(New Action(Of Boolean)(AddressOf enb), l)
        Else
            Button3.Enabled = l
        End If
    End Sub
    Private Sub b_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles b.RunWorkerCompleted
        enb(True)
        Lbl("
done")
    End Sub
End Class 

الكود الاساسي هو:
PHP كود :
Dim dir As New DirectoryInfo(fromf)
 
       b.ReportProgress(fi)
 
       For Each fl As FileInfo In dir.GetFiles("*.*")
 
                      fl.MoveTo(tof "\" & fl.Name)
                  Next 


شكرا لك اخي سعود 

انا لا اريد التعامل مع مجلد محدد 

انا اريد التعامل مع كامل القرص واختيار ملفات حسب الامتداد 

مثلا اريد نسح / نقل  - كل الملفات النصيبة في القرص لمسار يحدده المستخدم 

حاولت بالكود الذي ارفقته انا بالاعلى ويقوم باعادة تسيمه الملفات ولكن للاسف عند التعديل لا يقوم بالنسخ للمسار 

هذا هو الكود المقصود 

كود :
Module Module1

  Sub Main()
      Searcher("E:\")
  End Sub

  Sub Searcher(ByVal path As String)
      For Each file As String In System.IO.Directory.GetFiles(path)
          Try
              If file.EndsWith(".pdf") Then
                  System.IO.File.Copy(file, file.Replace(".pdf", "_.pdf"))
              End If
          Catch : End Try
      Next
      For Each directory As String In System.IO.Directory.GetDirectories(path)
          Try : Searcher(directory) : Catch : End Try
      Next
  End Sub
End Module
الرد
تم الشكر بواسطة:
#8
إقتباس :انا اريد التعامل مع كامل القرص واختيار ملفات حسب الامتداد 
اخي الكريم عند الاختيار يمكنك ان تختار ماتريد سواء محرك او مجلد.
والامتداد يمكنك تحديده من خلال التعديل على *.*

PHP كود :
 For Each fl As FileInfo In dir.GetFiles("*.pdf"
الرد
تم الشكر بواسطة:
#9
(29-05-19, 02:14 PM)سعود كتب :
إقتباس :انا اريد التعامل مع كامل القرص واختيار ملفات حسب الامتداد 
اخي الكريم عند الاختيار يمكنك ان تختار ماتريد سواء محرك او مجلد.
والامتداد يمكنك تحديده من خلال التعديل على *.*

PHP كود :
 For Each fl As FileInfo In dir.GetFiles("*.pdf"



بارك الله فيك اخي سعود على المتابعة 

عند اجراء عملية النقل 



الصورة السابقة عند محاولة نقل من كامل القرص ولكن عند اختيار مجلد محدد تنجح العملية
الرد
تم الشكر بواسطة:
#10
(29-05-19, 03:49 PM)ابو خليل99 كتب :
(29-05-19, 02:14 PM)سعود كتب :
إقتباس :انا اريد التعامل مع كامل القرص واختيار ملفات حسب الامتداد 
اخي الكريم عند الاختيار يمكنك ان تختار ماتريد سواء محرك او مجلد.
والامتداد يمكنك تحديده من خلال التعديل على *.*

PHP كود :
 For Each fl As FileInfo In dir.GetFiles("*.pdf"



بارك الله فيك اخي سعود على المتابعة 

عند اجراء عملية النقل 



الصورة السابقة عند محاولة نقل من كامل القرص ولكن عند اختيار مجلد محدد تنجح العملية


لاحظ اسفل الصوره
ستجد ان المتغير fromf قيمته "" يني فاضي لا يحتوي على مسار

استخدم الشرط if للتاكد من المتغير يحتوي مسار صحيح يكمل الكود والا يخرج برساله مثلا
if io.directory.exists(fromf) then
الرد
تم الشكر بواسطة: سعود , سعود



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


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