• 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

Lấy đường dẫn của file khi tìm kiếm

Nơi trao đổi về các vấn đề trong lập trình Windows Forms, Console dùng cú pháp ngôn ngữ Visual Basic .NET và C#

Điều hành viên: tungblt, vuathongtin

ngochuyen2003
Bài viết: 8
Ngày tham gia: T.Tư 22/04/2009 2:48 pm

Lấy đường dẫn của file khi tìm kiếm

Gửi bàigửi bởi ngochuyen2003 » T.Ba 28/04/2009 8:45 am

Mình có đoạn code tìm chuỗi trong 1 folder và nó sẽ trả về cho mình đường dẫn tất cả file.doc nào có chứa chuỗi đó. Nhưng doạn code này có lúc chạy lúc không. Mà nếu có chạy chỉ chạy có 1 từ hà. Mong cả nhà giúp cho mình. Cám ơn rất nhiều!!!

Mã: Chọn hết

  1.  
  2. Imports FileTextSearcher.FileTextSearch
  3. Imports System.IO
  4. Public Class FileTextSearcher
  5.  
  6.     Private Sub FileTextSearcher_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  7.         ' Hiển thị kết quả.
  8.         Dim File As FileInfo
  9.         Dim Searcher As New FileTextSearch("*.doc", "Nero")
  10.         Searcher.Search("E:\bai tap")
  11.         For Each File In Searcher.Matches
  12.             TextBox1.Text = TextBox1.Text + File.FullName + vbCrLf
  13.         Next
  14.     End Sub
  15. End Class
  16.  



Hình đại diện của người dùng
DiemLTT
Thành viên tích cực
Thành viên tích cực
Bài viết: 110
Ngày tham gia: T.Ba 17/02/2009 9:37 am
Been thanked: 4 time
Liên hệ:

Re: Lấy đường dẫn của file khi tìm kiếm

Gửi bàigửi bởi DiemLTT » T.Ba 28/04/2009 9:51 am

hok bít có tác dụng gì cho bạn hok, thử xem nhe, edit lại chắc cũng tàm tạm

http://forums.devarticles.com/net-devel ... 11558.html
Tách cafe lần đầu tiên em uống
Quên khuấy đường nghe đắng ngắt niềm đau......

Hình đại diện của người dùng
kienhd
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 65
Ngày tham gia: T.Hai 06/10/2008 2:43 pm

Re: Lấy đường dẫn của file khi tìm kiếm

Gửi bàigửi bởi kienhd » T.Ba 28/04/2009 10:07 am

Dim folder As New System.IO.DirectoryInfo("D:")
Dim list = folder.GetFiles
For Each it In list
Dim filename As String = it.ToString
If filename Like "*text*" Then
TextBox1.Text += filename + vbCrLf
End If

Next
Để tiền trong túi làm chi
Mua liều thuốc chuột phòng khi thất tình

ngochuyen2003
Bài viết: 8
Ngày tham gia: T.Tư 22/04/2009 2:48 pm

Re: Lấy đường dẫn của file khi tìm kiếm

Gửi bàigửi bởi ngochuyen2003 » T.Ba 28/04/2009 2:30 pm

Đoạn code mình muốn là khi tìm kiếm một chuỗi trong file .doc nào đó--> nó sẽ trả về cho mình đường dẫn của file text mà chứa chuỗi mình cần tìm đó. Mong các bạn giúp đỡ. Mình nhức đầu cả tháng nay rùi [-O<

MrB
Thành viên tích cực
Thành viên tích cực
Bài viết: 158
Ngày tham gia: T.Tư 26/03/2008 7:03 pm
Been thanked: 1 time

Re: Lấy đường dẫn của file khi tìm kiếm

Gửi bàigửi bởi MrB » T.Ba 28/04/2009 5:26 pm

Bạn đưa code lớp FileTextSearcher.FileTextSearch xem

Hình đại diện của người dùng
kienhd
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 65
Ngày tham gia: T.Hai 06/10/2008 2:43 pm

Re: Lấy đường dẫn của file khi tìm kiếm

Gửi bàigửi bởi kienhd » T.Tư 29/04/2009 9:06 am

thì ra là tìm kiếm 1 chuỗi trong file .doc
thửi cái này xem :
Private Function CheckFile(ByVal FileName As String, ByVal strSearch As String) As Boolean
Dim sReader As New System.IO.StreamReader(FileName)
Dim text As String = sReader.ReadToEnd()
sReader.Close()
If text.Contains(strSearch) Then
Return True
Else
Return False
End If
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim folder As New System.IO.DirectoryInfo("D:\kien")
Dim list = folder.GetFiles
For Each it In list
Dim filename As String = it.ToString
If filename Like "*.doc" Then
If CheckFile("D:\kien\" + filename, "van") Then
TextBox1.Text += "D:\kien\" + filename
End If
End If
Next
End Sub
chưa test kỹ :(
Để tiền trong túi làm chi
Mua liều thuốc chuột phòng khi thất tình

Hình đại diện của người dùng
kienhd
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 65
Ngày tham gia: T.Hai 06/10/2008 2:43 pm

Re: Lấy đường dẫn của file khi tìm kiếm

Gửi bàigửi bởi kienhd » T.Tư 29/04/2009 9:26 am

không chạy được tiếng việt :((
Để tiền trong túi làm chi
Mua liều thuốc chuột phòng khi thất tình

ngochuyen2003
Bài viết: 8
Ngày tham gia: T.Tư 22/04/2009 2:48 pm

Re: Lấy đường dẫn của file khi tìm kiếm

Gửi bàigửi bởi ngochuyen2003 » T.Tư 29/04/2009 10:04 am

Code của FileTextSearch đây. Bạn xem dùm mình há!!!. Huhu của mình cung không chạy tiếng việt, mà không tiếng việt cũng lúc chạy lúc không
Mà của mình là tìm nội dung trong file.doc luôn chứ không phải tìm trên tên của file!!!

Mã: Chọn hết

  1.  
  2. Imports System.IO
  3. Public Class FileTextSearch
  4.  
  5.     Private _Matches As New ArrayList
  6.     Private _FileFilter As String
  7.     Private _SearchText As String
  8.     Private _CaseSensitive As Boolean = True
  9.     Public ReadOnly Property Matches() As ArrayList
  10.         Get
  11.             Return _Matches
  12.         End Get
  13.     End Property
  14.  
  15.     Public Property FileFilter() As String
  16.         Get
  17.             Return _FileFilter
  18.         End Get
  19.         Set(ByVal Value As String)
  20.             _FileFilter = Value
  21.         End Set
  22.     End Property
  23.  
  24.     Public Property SearchText() As String
  25.         Get
  26.             Return _SearchText
  27.         End Get
  28.         Set(ByVal Value As String)
  29.             _SearchText = Value
  30.         End Set
  31.     End Property
  32.  
  33.     Public Property CaseSensitive() As Boolean
  34.         Get
  35.             Return _CaseSensitive
  36.         End Get
  37.         Set(ByVal Value As Boolean)
  38.             _CaseSensitive = Value
  39.         End Set
  40.     End Property
  41.  
  42.     Public Sub New(ByVal fileFilter As String, ByVal searchText As String)
  43.         Me.FileFilter = fileFilter
  44.         Me.SearchText = searchText
  45.     End Sub
  46.  
  47.     Public Sub Search(ByVal startingPath As String)
  48.         Matches.Clear()
  49.         SearchDirectory(New DirectoryInfo(startingPath))
  50.     End Sub
  51.  
  52.     Private Sub SearchDirectory(ByVal dir As DirectoryInfo)
  53.         ' Lấy các file trong thư mục này.
  54.         Dim FileItem As FileInfo
  55.         For Each FileItem In dir.GetFiles(FileFilter)
  56.             ' Kiểm tra file này có trùng khớp hay không.
  57.             If TestFileForMatch(FileItem) Then
  58.                 Matches.Add(FileItem)
  59.             End If
  60.         Next
  61.         ' Bạn có thể thêm logic đệ quy ở đây bằng cách gọi
  62.         ' SearchDirectory trên tất cả các thư mục con (xem mục 5.7).
  63.     End Sub
  64.  
  65.     Private Function TestFileForMatch(ByVal file As FileInfo) As Boolean
  66.         ' Mở file.
  67.         Dim fs As FileStream = file.OpenRead()
  68.         Dim Match As Boolean = False
  69.         Dim MatchPosition As Integer 'MatchCount,
  70.         Dim Character, MatchCharacter As String
  71.         ' Đọc qua toàn bộ file.
  72.         Do Until fs.Position = fs.Length
  73.             ' Lấy một ký tự từ file.
  74.             Character = Convert.ToChar(fs.ReadByte())
  75.             ' Lấy ký tự kế tiếp từ chuỗi cần tìm để đem so trùng.
  76.             MatchCharacter = SearchText.Substring(MatchPosition, 1)
  77.             If String.Compare(Character, MatchCharacter, _
  78.             Not Me.CaseSensitive) = 0 Then
  79.                 ' Chúng trùng khớp. Bây giờ thử so trùng ký tự kế tiếp.
  80.                 MatchPosition += 1
  81.             Else
  82.                 ' Chúng không trùng khớp. Làm lại từ đầu.
  83.                 MatchPosition = 0
  84.             End If
  85.  
  86.             ' Kiểm tra toàn bộ chuỗi đã được so trùng hay chưa.
  87.             If MatchPosition = SearchText.Length - 1 Then
  88.                 Return True
  89.             End If
  90.         Loop
  91.         fs.Close()
  92.         Return False
  93.     End Function
  94. End Class
  95.  

ngochuyen2003
Bài viết: 8
Ngày tham gia: T.Tư 22/04/2009 2:48 pm

Re: Lấy đường dẫn của file khi tìm kiếm

Gửi bàigửi bởi ngochuyen2003 » T.Sáu 01/05/2009 10:58 pm

Xin các bạn chỉ giáo dùm mình đi. Mình đang rất cần mà sử lý file mình mới tìm hiểu nên đành pó tay!!!

thantai100577
Bài viết: 2
Ngày tham gia: T.Ba 07/08/2018 11:19 pm

tìm kiếm file và copy vào thư mục

Gửi bàigửi bởi thantai100577 » T.Tư 05/09/2018 8:01 pm

Mình có một table chứa danh sách thông tin về đường dẫn thư mục chứa file đã từng copy
VD:
STT duongdan
1 C:\UPLOAD\DONVIA\abc.doc
2 C:\UPLOAD\DONVIB\def.doc
3C:\UPLOAD\DONVIC\fgh.doc
4C:\UPLOAD\DONVID\jkl.doc

và thư mục chứa file cần copy lưu các file như ở trên
D:\Chuafile
mình cần copy các file ở D:\chuafile vào các thư mục tương ứng ở trên
ghi chú: mình có khoảng 1000 file cần copy
nhờ các bạn giúp minh với...thank

thantai100577
Bài viết: 2
Ngày tham gia: T.Ba 07/08/2018 11:19 pm

tìm kiếm file và copy vào thư mục

Gửi bàigửi bởi thantai100577 » T.Tư 05/09/2018 8:03 pm

Mình có một table chứa danh sách thông tin về đường dẫn thư mục chứa file đã từng copy
VD:
STT duongdan
1 C:\UPLOAD\DONVIA\abc.doc
2 C:\UPLOAD\DONVIB\def.doc
3C:\UPLOAD\DONVIC\fgh.doc
4C:\UPLOAD\DONVID\jkl.doc

và thư mục chứa file cần copy lưu các file như ở trên
D:\Chuafile
mình cần copy các file ở D:\chuafile vào các thư mục tương ứng ở trên
ghi chú: mình có khoảng 1000 file cần copy
nhờ các bạn giúp minh với...thank

ghi chú: mình cần source bằng VB.net


Quay về “Visual Basic .NET và C# (VB.NET & C#)”

Đ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.5 khách