Trang 1 trên 1

Xóa một thư mục

Đã gửi: T.Ba 16/10/2012 8:49 pm
gửi bởi baohiep
Thủ thuật: Xóa một thư mục
Tác giả: Sưu tầm
Mô tả: Xóa một thư mục chỉ với vài dòng code



Các bạn vào trang http://www.forum.caulacbovb.com/viewtopic.php?f=7&t=14136#p84095 sẽ thấy cách xóa thư mục của T7. Nếu bỏ hết ghi chú thì cũng hết hơn 10 dòng. Cách của mình thì dùng hàm Dir nên ngắn gọn hơn nhiều.

  1. Private Function DeleteFolder(ByVal Path As String)
  2.     Path = IIf(Right$(Path, 1) = "\", Path, Path & "\"
  3.     Do While Dir(Path & "\*.*") <> ""
  4.         Kill Path & Dir(Path & "\*.*")
  5.     Loop
  6.     RmDir (Path)
  7. End Function

Re: Xóa một thư mục

Đã gửi: T.Sáu 19/10/2012 6:33 pm
gửi bởi 01676167394
Bạn kiểm tra lại code đi :D! Tớ xóa 1 folder mà nó báo lỗi là: Bad file name or number :-/ .

Re: Xóa một thư mục

Đã gửi: T.Sáu 19/10/2012 9:05 pm
gửi bởi baohiep
Xin lỗi bạn. Mình sửa lại code rồi. Bạn xem lại đi.

Re: Xóa một thư mục

Đã gửi: CN 21/10/2012 9:12 am
gửi bởi VuVanHoanh
cách khác:
  1. shell "cmd /c md " & chr(34) & đường dẫn thư mục & chr(34)

Re: Xóa một thư mục

Đã gửi: CN 21/10/2012 12:11 pm
gửi bởi 01676167394
Code của các bạn chỉ có thể xóa file :D! Chưa thể xóa folder con :( .

Mã: Chọn hết

Public Function KillFolder(ByVal FullPath As String) As Boolean
On Error Resume Next
Dim oFso As New Scripting.FileSystemObject
If Right(FullPath, 1) = "\" Then FullPath = Left(FullPath, Len(FullPath) - 1)

If oFso.FolderExists(FullPath) Then
   oFso.DeleteFolder FullPath, True
   
    KillFolder = Err.Number = 0 And oFso.FolderExists(FullPath) = False
End If
End Function


Cũng gọn :) ! Đúng không? Xóa đc tất cả trong folder chính :D .

Re: Xóa một thư mục

Đã gửi: CN 22/09/2013 5:29 pm
gửi bởi thichvblam
nếu folder đó đang bị truy xuất bởi 1 ứng dụng nào đó
thì nó có kiểm tra và xóa đc ko nhỉ ?

Re: Xóa một thư mục

Đã gửi: T.Bảy 08/02/2014 7:25 am
gửi bởi NTN
Rất đơn giản các bạn chỉ cần coppy đoạn code dưới vào form chỉ sửa lại đường dẫn đến thư mục xóa :

Mã: Chọn hết

Option Explicit
Private Sub Form_Load()
    RmDir "D:\My Folder"
End Sub


Hoặc các bạn có thể tạo 1 Text,1 Command :
-Text1 = Đường dẫn thư mục xóa
-Command1 = Đưa dữ liệu từ Text1 đến RmDir
Ở phần Command1 các bạn thêm code sau :

Mã: Chọn hết

   RmDir Text1.text
MsgBox "Folder da duoc xóa !"


Vậy là xong khi bạn coppy đường dẫn đến thư mục nhấn Command1 thì sẽ xóa đi thư mục !
Ngoài ra các bạn có thể sử dụng CommonDialog1 để mở 1 file xóa Các bạn thêm code này vào phần Form log

Mã: Chọn hết

Private Sub Form_Load()
CommonDialog1.ShowOpen
Text1.Text = CommonDialog1.FileName
End Sub


Và thêm Command2 chép đoạn code sau :

Mã: Chọn hết

Kill Text1.text
         MsgBox "File đa đuoc xóa"