Cách xóa file trong 1 Folder

Liên hệ QC

giangleloi

Thành viên gắn bó
Tham gia
25/3/13
Bài viết
1,883
Được thích
1,441
Xin chào tất cả các anh chị và các bạn. Em xin phép được hỏi 1 vấn đề như sau:
Em có 1 Folder (tạm gọi là thư mục mẹ) trong thư mục mẹ có khoảng 50 cái Folder (thư mục con), mỗi thư mục con có khoảng 300 đến 400 file excel. Xóa tất cả các file excel trong 1 thư mục con thì cứ liệt kê từ đường dẫn của nó ra mà phang (cái này em biết). Em muốn hỏi có cách nào hay mẹo gì chỉ lấy đường dẫn của thư mục mẹ thì tất cả các file excel trong 50 cái thư mục con đó sẽ được xóa đồng loạt không ạ (Kiểu như là không cần quan tâm tới tên của 50 cái thư mục con để lấy đường dẫn ấy ạ).
Cám ơn các anh/chị và các bạn.
Chúc mọi người có một ngày tốt lành!!!
Trân trọng kính chào!!!
 
Xin chào tất cả các anh chị và các bạn. Em xin phép được hỏi 1 vấn đề như sau:
Em có 1 Folder (tạm gọi là thư mục mẹ) trong thư mục mẹ có khoảng 50 cái Folder (thư mục con), mỗi thư mục con có khoảng 300 đến 400 file excel. Xóa tất cả các file excel trong 1 thư mục con thì cứ liệt kê từ đường dẫn của nó ra mà phang (cái này em biết). Em muốn hỏi có cách nào hay mẹo gì chỉ lấy đường dẫn của thư mục mẹ thì tất cả các file excel trong 50 cái thư mục con đó sẽ được xóa đồng loạt không ạ (Kiểu như là không cần quan tâm tới tên của 50 cái thư mục con để lấy đường dẫn ấy ạ).
Cám ơn các anh/chị và các bạn.
Chúc mọi người có một ngày tốt lành!!!
Trân trọng kính chào!!!
Vậy thì Delete Folder đi là xong....Tham khảo FileSystemObject dưới link chữ ký của mình nha

Đọc hết chỗ đó chế lại một tí là xong
 
Upvote 0
Xin chào tất cả các anh chị và các bạn. Em xin phép được hỏi 1 vấn đề như sau:
Em có 1 Folder (tạm gọi là thư mục mẹ) trong thư mục mẹ có khoảng 50 cái Folder (thư mục con), mỗi thư mục con có khoảng 300 đến 400 file excel. Xóa tất cả các file excel trong 1 thư mục con thì cứ liệt kê từ đường dẫn của nó ra mà phang (cái này em biết). Em muốn hỏi có cách nào hay mẹo gì chỉ lấy đường dẫn của thư mục mẹ thì tất cả các file excel trong 50 cái thư mục con đó sẽ được xóa đồng loạt không ạ (Kiểu như là không cần quan tâm tới tên của 50 cái thư mục con để lấy đường dẫn ấy ạ).
Cám ơn các anh/chị và các bạn.
Chúc mọi người có một ngày tốt lành!!!
Trân trọng kính chào!!!

Thì bạn xóa cái thư mục mẹ đó đi là xong chứ gì.
Sub XoaFolder()
Dim sysObj As Object
Set sysObj = CreateObject("Scripting.FileSystemObject")
sysObj.DeleteFolder "DuongDan"
Set sysObj = Nothing
End Sub
 
Upvote 0
Vậy thì Delete Folder đi là xong....Tham khảo FileSystemObject dưới link chữ ký của mình nha
Đọc hết chỗ đó chế lại một tí là xong
Thì bạn xóa cái thư mục mẹ đó đi là xong chứ gì.
Ý em là em vẫn muốn giữ tất cả các Folder đó lại để tiếp tục làm việc với chúng mà không phải tạo lại ạ.
 
Lần chỉnh sửa cuối:
Upvote 0
Ý em là em vẫn muốn giữ tất cả các Folder đó lại để tiếp tục làm việc với chúng mà không phải tạo lại ạ.
Vậy thì tham khảo code sau đi . Code Mình Copy từ GPE cũng không nhớ là của ai nữa....
Bạn tự chế lại theo yêu cầu của mình
PHP:
Public lCount As Long
Private Sub DeleteFiles(FolderName As String, Search As String, InSub As Boolean)
  Dim FileItem As Object, SubFolder As Object, fle As String
  On Error GoTo ExitSub
  With CreateObject("Scripting.FileSystemObject")
    With .GetFolder(FolderName)
      For Each FileItem In .Files
        If FileItem.Path Like Search Then
          FileItem.Delete
          lCount = lCount + 1
        End If
      Next FileItem
      If InSub Then
        For Each SubFolder In .subFolders
          DeleteFiles SubFolder.Path, Search, True
        Next SubFolder
      End If
    End With
  End With
ExitSub:
End Sub

PHP:
Sub Main()
  Dim FolderName As String
   FolderName = "D:\New Folder"
   lCount = 0
   DeleteFiles FolderName, "*.xl*", True
   MsgBox "Da xoa " & lCount & " files trong thu muc " & FolderName
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Code Mình Copy từ GPE cũng không nhớ là của ai nữa....

Mình thì nhớ là của... ở đây:
http://www.giaiphapexcel.com/forum/...óa-file-xls-trong-thư-mục&p=396290#post396290
Ẹc... Ẹc...
------------------

Giờ viết kiểu khác nhé:
Mã:
Function DelSpecFiles(ByVal RootFolder As String, ByVal Search As String, ByVal InSub As Boolean)
  Dim sComm As String, tmp As String, str As String, tmpFile, Arr
  Dim wsObj As Object
  On Error Resume Next
  Set wsObj = CreateObject("Wscript.Shell")
  If Right(RootFolder, 1) <> "\" Then RootFolder = RootFolder & "\"
  str = """" & RootFolder & Search & """"
  sComm = "Del " & str & " /F /Q" & IIf(InSub, "/S", "")
  wsObj.Run "cmd /u /c " & sComm, 0, True
  Set wsObj = Nothing
End Function
Và code để kích hoạt:
Mã:
Sub Main()
  DelSpecFiles [COLOR=#ff0000]"D:\Temp"[/COLOR],[COLOR=#008000] "*.xls"[/COLOR], [COLOR=#0000cd]True[/COLOR]
End Sub
Lưu ý:
- Màu đỏ: Đường dẫn thư mục
- Màu xanh lá: loại file muốn xóa
- Màu xanh đương: chỉ định xóa trong các thư mục con hoặc không
--------------------
Vừa viết xong, mới test sơ sơ, không biết có gì trục trặc không
 
Lần chỉnh sửa cuối:
Upvote 0
Mình thì nhớ là của... ở đây:
http://www.giaiphapexcel.com/forum/...óa-file-xls-trong-thư-mục&p=396290#post396290
Ẹc... Ẹc...
------------------

Giờ viết kiểu khác nhé:
Mã:
Function DelSpecFiles(ByVal RootFolder As String, ByVal Search As String, ByVal InSub As Boolean)
  Dim sComm As String, tmp As String, str As String, tmpFile, Arr
  Dim wsObj As Object
  On Error Resume Next
  Set wsObj = CreateObject("Wscript.Shell")
  If Right(RootFolder, 1) <> "\" Then RootFolder = RootFolder & "\"
  str = """" & RootFolder & Search & """"
  sComm = "Del " & str & " /F /Q" & IIf(InSub, " /S", "")
  wsObj.Run "cmd /u /c " & sComm, 0, True
  Set wsObj = Nothing
End Function
Và code để kích hoạt:
Mã:
Sub Main()
  DelSpecFiles [COLOR=#ff0000]"D:\Temp"[/COLOR],[COLOR=#008000] "*.xls"[/COLOR], [COLOR=#0000cd]True[/COLOR]
End Sub
Lưu ý:
- Màu đỏ: Đường dẫn thư mục
- Màu xanh lá: loại file muốn xóa
- Màu xanh đương: chỉ định xóa trong các thư mục cong hoặc không
--------------------
Vừa viết xong, mới test sơ sơ, không biết có gì trục trặc không
Chạy Tốt đó Anh. Em vừa Test Xong
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Mình thì nhớ là của... ở đây:
http://www.giaiphapexcel.com/forum/...óa-file-xls-trong-thư-mục&p=396290#post396290
Ẹc... Ẹc...
------------------

Giờ viết kiểu khác nhé:
Mã:
Function DelSpecFiles(ByVal RootFolder As String, ByVal Search As String, ByVal InSub As Boolean)
  Dim sComm As String, tmp As String, str As String, tmpFile, Arr
  Dim wsObj As Object
  On Error Resume Next
  Set wsObj = CreateObject("Wscript.Shell")
  If Right(RootFolder, 1) <> "\" Then RootFolder = RootFolder & "\"
  str = """" & RootFolder & Search & """"
  sComm = "Del " & str & " /F /Q" & IIf(InSub, "/S", "")
  wsObj.Run "cmd /u /c " & sComm, 0, True
  Set wsObj = Nothing
End Function
Và code để kích hoạt:
Mã:
Sub Main()
  DelSpecFiles [COLOR=#ff0000]"D:\Temp"[/COLOR],[COLOR=#008000] "*.xls"[/COLOR], [COLOR=#0000cd]True[/COLOR]
End Sub
Lưu ý:
- Màu đỏ: Đường dẫn thư mục
- Màu xanh lá: loại file muốn xóa
- Màu xanh đương: chỉ định xóa trong các thư mục cong hoặc không
--------------------
Vừa viết xong, mới test sơ sơ, không biết có gì trục trặc không
Quá tuyệt vời và quá nhanh luôn anh ơi. Anh cho e hỏi thêm 1 ý nữa là code trên nếu gặp thư mục ẩn sẽ không xóa. Muốn xóa luôn những file trong thư mục ẩn thì chỉnh như thế nào anh nhỉ?
 
Upvote 0
Quá tuyệt vời và quá nhanh luôn anh ơi. Anh cho e hỏi thêm 1 ý nữa là code trên nếu gặp thư mục ẩn sẽ không xóa. Muốn xóa luôn những file trong thư mục ẩn thì chỉnh như thế nào anh nhỉ?

Chỗ màu đỏ này:
Mã:
Function DelSpecFiles(ByVal RootFolder As String, ByVal Search As String, ByVal InSub As Boolean)
  Dim sComm As String, tmp As String, str As String, tmpFile, Arr
  Dim wsObj As Object
  On Error Resume Next
  Set wsObj = CreateObject("Wscript.Shell")
  If Right(RootFolder, 1) <> "\" Then RootFolder = RootFolder & "\"
  str = """" & RootFolder & Search & """"
 [COLOR=#ff0000] sComm = "Del " & str & " /F /Q" & IIf(InSub, " /S", "")[/COLOR]
  wsObj.Run "cmd /u /c " & sComm, 0, True
  Set wsObj = Nothing
End Function
Thử sửa thành:
sComm = "Del " & str & " /F /Q /A" & IIf(InSub, " /S", "")
xem sao
 
Upvote 0
Mượn code của anh NDU chế biến thêm chút
PHP:
Function DelSpecFiles(ByVal RootFolder As String, ByVal Search As String, ByVal InSub As Boolean)
   Dim sComm As String, str As String
   If Right(RootFolder, 1) <> "\" Then RootFolder = RootFolder & "\"
   str = """" & RootFolder & Search & """"
   sComm = "Del " & str & " /F /Q /A" & IIf(InSub, "/S", "")
   CreateObject("Wscript.Shell").Run "cmd /u /c " & sComm, 0, True
End Function
Sub Main()
With Application.FileDialog(msoFileDialogFolderPicker)
   If .Show Then DelSpecFiles .SelectedItems(1), "*.xls", True
End With
End Sub
 
Upvote 0
Xóa files hàng loạt như thế này là nhiệm vụ của hệ thống. Viết code VBScript mà chạy, tội gì phải dùng Excel?
 
Upvote 0
Web KT
Back
Top Bottom