• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

move các file có 5 ký tự đầu tiên giống nhau vào cùng 1 thư mục

Chuyên mục thảo luận các vấn đề liên quan đến ứng dụng quản lý và cơ sở dữ liệu

Moderator: Điều hành

dieutan1107
Posts: 1
Joined: Sun 07/08/2016 9:40 am

move các file có 5 ký tự đầu tiên giống nhau vào cùng 1 thư mục

Postby dieutan1107 » Sun 07/08/2016 10:35 am

mình có danh sách các file (hơn 10000 file), tên file được đặt theo cú pháp aaaaa1........n, bbbbbb1..........n, ccccc1......n, .............. cho mình hỏi có cách nào thực hiện nhanh để di chuyển các file này vào các thư mục aaaaa, bbbbb, ccccc ko?
ps: các banj hướng dẫn cụ thể cho mình với vi mình ko rành về VB



User avatar
nhatlinh0207
Thành viên tâm huyết
Thành viên tâm huyết
Posts: 428
Joined: Wed 15/08/2012 7:54 pm
Has thanked: 58 times
Been thanked: 51 times

Re: move các file có 5 ký tự đầu tiên giống nhau vào cùng 1 thư mục

Postby nhatlinh0207 » Mon 08/08/2016 8:20 am

Chắc viết 1 đoạn code nhỏ thôi

Devil888
Thành viên chính thức
Thành viên chính thức
Posts: 12
Joined: Sat 03/09/2016 11:33 am
Has thanked: 8 times

Re: move các file có 5 ký tự đầu tiên giống nhau vào cùng 1 thư mục

Postby Devil888 » Sat 01/10/2016 8:16 pm

Code: Select all

 Private Sub abc(path_nguon As String, path_dich As String)
        'Lấy tên tất cả các file trong đường dẫn path
        Dim data As New List(Of String)
        Dim tg As String
        For Each a As String In Directory.GetFiles(path_nguon)
            tg = ""
            While True
                If a(a.Length - 1) = "\" Then
                    Exit While
                Else
                    tg = a(a.Length - 1) & tg
                    a = a.Substring(0, a.Length - 1)
                End If
            End While
            data.Add(tg)
        Next
        Dim curent_path As String = ""
        Dim curent_name As String = ""
        While (data.Count > 0)
            'Tạo thư mục mới
            curent_name = data(0).Substring(0, 5)
            Directory.CreateDirectory(path_dich & "\" & curent_name)
            curent_path = path_dich & "\" & curent_name
            data.RemoveAt(0)
            'Tìm các file trùng tên
            Dim i As Int64 = 0
            While True
                If i > data.Count - 1 Then
                    Exit While
                Else
                    If data(i).Substring(0, 5) = curent_name Then
                        'Move file
                        File.Copy(path_nguon & "\" & data(i), curent_path & "\" & data(i))
                        'Xóa file nguồn
                        File.Delete(path_nguon & "\" & data(i))
                        'Xóa tên file khỏi data
                        data.RemoveAt(i)
                    Else
                        i = i + 1
                    End If
                End If
            End While
        End While
    End Sub

Code chưa test nha bạn!


Return to “Ứng dụng Quản lý và Cơ sở dữ liệu”

Who is online

Users browsing this forum: No registered users and 5 guests