Board logo

标题: [问题求助] 删除指定文件夹/路径/目录里所有隐藏文件? [打印本页]

作者: mick00034    时间: 2017-6-7 09:08     标题: 删除指定文件夹/路径/目录里所有隐藏文件?

本帖最后由 pcl_test 于 2017-6-7 10:08 编辑

保留显示文件,只删除所有隐藏文件,应该怎么写?谢谢大家。
作者: yu2n    时间: 2017-6-7 15:31

本帖最后由 yu2n 于 2017-6-7 20:13 编辑
  1. ---------------------------
  2. 提示
  3. ---------------------------
  4. 目錄位置:C:\Users\Yu2n
  5. 掃尋完成,共有 5 個隱藏文件。是否刪除?
  6. ---------------------------
  7. 是(Y)   否(N)   取消   
  8. ---------------------------
复制代码
  1. Const HIDDEN = 2 '指定隱藏屬性的文件
  2. Const PATH = "." '指定文件目錄
  3. Dim oItems, oFile, nCount : nCount = 0
  4. Set fso = CreateObject("Scripting.FileSystemObject")
  5. Set oItems = fso.GetFolder(PATH)
  6. For Each oFile In oItems.Files
  7. If oFile.Attributes And HIDDEN Then
  8. nCount = nCount + 1
  9. End If
  10. Next
  11. If nCount > 0 Then
  12. If Msgbox("目錄位置:" & oItems.Path & vbCrLf & vbCrLf & _
  13. "掃尋完成,共有 " & nCount & " 個隱藏文件。是否刪除?", _
  14. vbQuestion+vbYesNoCancel+vbDefaultButton2, "提示") = vbYes Then
  15. For Each oFile In oItems.Files
  16. If oFile.Attributes And HIDDEN Then
  17. fso.DeleteFile oFile.Path, True
  18. End If
  19. Next
  20. End If
  21. Else
  22. Msgbox "目錄位置:" & oItems.Path & vbCrLf & vbCrLf & "掃尋完成,沒有發現隱藏文件。", _
  23. vbInformation, "提示"
  24. End If
复制代码

作者: mick00034    时间: 2017-6-7 18:50

运行的话,显示缺少语句,是我哪里弄错了吗?
作者: taofan712    时间: 2017-6-7 19:50

  1. @echo off
  2. echo;拖入需要处理的文件夹
  3. set /p folder=
  4. for /f "delims=" %%a in ('dir /s /b /ah %folder%') do (
  5. attrib -h "%%~a"
  6. rd /s /q "%%~a" 2>nul||del /f /q "%%~a"
  7. )
  8. pause
复制代码
会删除指定目录下的隐藏文件和文件夹
若只需要删除文件,不删除隐藏文件夹,去掉“rd /s /q "%%~a" 2>nul||”
作者: yu2n    时间: 2017-6-7 20:14

回复 3# mick00034


    24 行末尾的括号“)”去掉。
作者: mick00034    时间: 2017-6-8 14:37

会删除指定目录下的隐藏文件和文件夹
若只需要删除文件,不删除隐藏文件夹,去掉“rd /s /q "%%~a" 2>nul| ...
taofan712 发表于 2017-6-7 19:50


扩展名ini的删不掉,




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2