• 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

Điều hành viên: Điều hành

dieutan1107
Bài viết: 1
Ngày tham gia: CN 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

Gửi bàigửi bởi dieutan1107 » CN 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



Hình đại diện của người dùng
nhatlinh0207
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 389
Ngày tham gia: T.Tư 15/08/2012 7:54 pm
Has thanked: 54 time
Been thanked: 48 time

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

Gửi bàigửi bởi nhatlinh0207 » T.Hai 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
Bài viết: 12
Ngày tham gia: T.Bảy 03/09/2016 11:33 am
Has thanked: 8 time

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

Gửi bàigửi bởi Devil888 » T.Bảy 01/10/2016 8:16 pm

Mã: Chọn hết

 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!


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

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách