PDA

View Full Version : Chia thư mục thành nhiều thư mục con



amun
09-06-2008, 08:04
Mình có 1 thư mục chứa hơn 60.000 file, mỗi lần truy cập thự mục này phải chờ rất lâu để nó hiển thị ra hết.

Trước đây mình có đọc được một bài viết nói về 1 phần mềm có thể tự động chia nhỏ thư mục thành nhiều thư mục con.

VD: thư mục của mình có 60.000 file mình muốn chia thư mục này ra thành 600 thư mục con, mỗi thư mục con có chứa 100 file thui.

Bạn nào biết chỉ mình với nhe. Help me !!!

fushina
10-06-2008, 12:48
bạn thử phần mềm này xem sao cryppie, nó dùng để chia nhỏ và ghép các file. Cái này mình mới chỉ biết thôi chứ chưa dùng thử.

The Old Man
10-06-2008, 13:46
Phần này phải tự viết lấy FUNCT bằng cách chứa tên các file (60000 files) vào một CSDL có tên của file và số thứ tự theo record number từ 1 đến 60000.

Thư muc sẻ được tao ra theo 3 số đầu của 5 digits (60000)
File của hồ sơ số 00000 sẻ nằm trong thư muc 000 (ba số 000 dầu)
Như thế file có record# là 39317 sẻ nằm trong folder số 393 file thứ 17
Path của file có record # 46527 sẻ là 465

Thử tìm hiểu function sau mà tôi đã viết cho một program DELIVERY
bẳng FOXPro cho hồ sơ lên tới 8 digit (số trăm triệu)

Function sau đây tạo ra Folder 3 digit và subfolder 3 digits với file name và extention với default folder là DELIVERY. Ví dụ: DELIVERY\005\432\00543218.TXT
Function có 2 thông số filerecord=8 digits character và extention là 3 characters (ví dụ 00543218.TXT)


func pathfile(filerecord,ext)
filestr=padl(alltrim(filerecord),8,"0")+"."+ext
if !file("delivery\"+filestr)
makedir("delivery\"+substr(filestr,1,3))
makedir("delivery\"+substr(filestr,1,3)+"\"+substr(filestr,4,3))
makedir("delivery\"+substr(filestr,1,3)+"\"+substr(filestr,4,3)+"\"+substr(filestr,7,2))
endif
fileret="delivery\"+substr(filestr,1,3)+"\"+substr(filestr,4,3)+"\"+substr(filestr,7,2)+"\"+filestr
return fileret

amun
11-06-2008, 14:59
Cám ơn fushina và T.O.M rất nhiều
to fushina: phần mềm này chỉ dùng cho file thui ko dùng cho folder.
to T.O.M: mình thiệt bó tay với FOX Pro nhưng cũng cám ơn bạn rất nhiều. Bạn chắc chắn là pro trong vụ lập trình nhỉ.