• 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

Vài dòng code tìm folder trong máy

Các thủ thuật về hệ thống, thư mục, tập tin và mạng
Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Vài dòng code tìm folder trong máy

Gửi bàigửi bởi truongphu » T.Tư 08/07/2009 10:25 pm

Thủ thuật: Vài dòng code tìm folder trong máy
Tác giả: truongphu
Mô tả: Chỉ vài dòng code, bạn có thể liệt kê các folder trong máy tính


Cần Command1, text1 và list1

Mã: Chọn hết

  1. Private Sub Command1_Click()
  2. Set colFolders = GetObject("winmgmts:").ExecQuery _
  3.     ("Select * From Win32_Directory Where FileName Like '%" & Text1.Text & "%'")
  4. List1.Clear
  5. For Each objFolder In colFolders
  6.     List1.AddItem objFolder.Caption
  7. Next
  8. End Sub

1- nếu text1 ="", ta sẽ có kết quả liệt kê toàn bộ thư mục trong máy
2- cấu trúc tìm: Where FileName Like '%" & Text1.Text & "%'"
là mẫu câu sql, cho phép tìm tương tự
Bạn có thể tìm chính xác với dấu =
hoặc áp dụng các mẫu sql quen thuộc với hàm Like
3- Code trên tôi đã tinh gọn tối đa


o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
ngochoan2006
Guru
Guru
Bài viết: 184
Ngày tham gia: T.Tư 25/10/2006 4:35 pm
Đến từ: Phúc Yên - Vĩnh Phúc !
Been thanked: 1 time

Re: Vài dòng code tìm folder trong máy

Gửi bàigửi bởi ngochoan2006 » T.Năm 09/07/2009 8:43 am

Cái này mà bạn nào gõ nội dung trong text1 là tên của 1 file ( autoexec.bat ) thì đảm bảm chương trình sẽ "Treo" ngay ! :)
Kiến thức là vô hạn!
Hiểu biết của tui thì có hạn !
Nên dừng có ngạc nhiên khi tôi không biết 1+2 =? !

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Re: Vài dòng code tìm folder trong máy

Gửi bàigửi bởi truongphu » T.Năm 09/07/2009 9:07 am

ngochoan2006 đã viết:Cái này mà bạn nào gõ nội dung trong text1 là tên của 1 file ( autoexec.bat ) thì đảm bảm chương trình sẽ "Treo" ngay ! :)


Sao lại "Treo" nhỉ?, Mong anh ngochoan2006 xem lại

Mã: Chọn hết

  1. Private Sub Command1_Click()
  2. Set colFolders = GetObject("winmgmts:").ExecQuery _
  3.     ("Select * From Win32_Directory Where FileName Like '%" & Text1.Text & "%'")
  4. List1.Clear
  5. For Each objFolder In colFolders
  6. DoEvents
  7.     List1.AddItem objFolder.Caption
  8. Next
  9. If List1.ListCount = 0 Then MsgBox "Không Thâ'y"
  10. End Sub
  11.  
  12. Private Sub Form_Load()
  13. Text1.Text = "autoexec.bat"
  14. End Sub
Tập tin đính kèm
Find Folders.rar
(1.19 KiB) Đã tải 442 lần
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
ngochoan2006
Guru
Guru
Bài viết: 184
Ngày tham gia: T.Tư 25/10/2006 4:35 pm
Đến từ: Phúc Yên - Vĩnh Phúc !
Been thanked: 1 time

Re: Vài dòng code tìm folder trong máy

Gửi bàigửi bởi ngochoan2006 » T.Năm 09/07/2009 9:16 am

:D không phải là treo luôn máy. Mà là sẽ "ngất" trong mấy phút.
Vì nếu như trong máy tính của bác mà dung lượng ổ cứng > 100Gb thì sẽ ngất ít nhất trên 1'.
Kiến thức là vô hạn!
Hiểu biết của tui thì có hạn !
Nên dừng có ngạc nhiên khi tôi không biết 1+2 =? !

Hình đại diện của người dùng
DarkProgrammer
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 59
Ngày tham gia: T.Tư 18/06/2008 7:20 pm
Đến từ: Địa ngục
Been thanked: 1 time
Liên hệ:

Re: Vài dòng code tìm folder trong máy

Gửi bàigửi bởi DarkProgrammer » CN 02/08/2009 7:34 pm

chỉ cần thêm DoEvents vô vòng lặp là hết treo ngay.
PROGRAMMING IS MY LIFE

Hình đại diện của người dùng
delta_hung1992
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 81
Ngày tham gia: T.Năm 06/11/2008 10:51 pm

Re: Vài dòng code tìm folder trong máy

Gửi bàigửi bởi delta_hung1992 » T.Năm 27/08/2009 6:22 pm

Cảm ơn bác Trương Phú nhiều lắm! [cool] Cháu đang đau đầu về cái vụ tìm file trong ổ cứng đây ~X( (hình như cái này chỉ search folder chứ không search file, cháu thử mãi không được). Nhân tiện cho cháu hỏi làm thế nào để tìm file ở một ổ đĩa, hay một thư mục đã định sẵn (thay vì tìm kiếm trên cả ổ cứng) như chức năng seach của Windows ạ? :-/
Keep moving forward

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Re: Vài dòng code tìm folder trong máy

Gửi bàigửi bởi truongphu » T.Năm 27/08/2009 6:45 pm

Bạn đã vào mục mẹo vặt, sao không chịu khó đọc tiếp các bài khác?
Bài cùng trang:
* Lấy Danh sách Tập tin trong thư mục, viết bằng VBS, truongphu
viewtopic.php?f=28&t=18#p204

Trong Function ShowFolderList(folderspec), để xác định folderspec, bạn có thể dùng code:

Mã: Chọn hết

  1. Set PathFolder = CreateObject("Shell.Application").BrowseForFolder(0, "Select a folder:", 0)
  2. MsgBox PathFolder.Self.Path


* Duyệt File/Folder theo chiều rộng (không Đệ Quy), MATH-INFO
viewtopic.php?f=28&t=510
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
delta_hung1992
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 81
Ngày tham gia: T.Năm 06/11/2008 10:51 pm

Re: Vài dòng code tìm folder trong máy

Gửi bàigửi bởi delta_hung1992 » T.Năm 27/08/2009 7:06 pm

Cháu xin lỗi bác. Tại cháu dùng google search ra topic này (lần trước cháu tìm cách sử dụng PropertyBag phải mất đến 3 ngày :( , vì cháu không được nên mạng nhiều, nên lần này cháu dùng google cho nhanh). Có gì bác thứ lỗi [-O<
Keep moving forward

Hình đại diện của người dùng
NTN
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 472
Ngày tham gia: T.Tư 05/02/2014 3:43 pm
Đến từ: Cao Lãnh, Đồng Tháp,Việt Nam
Has thanked: 19 time
Been thanked: 7 time
Liên hệ:

Re: Vài dòng code tìm folder trong máy

Gửi bàigửi bởi NTN » T.Bảy 08/02/2014 7:46 am

Cho mình hỏi có code nào Tìm file trong máy không ?


Quay về “[VB] Hệ thống - Tập tin - Thư mục và Mạng”

Đ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