Board logo

标题: [文件操作] [已解决]搜索全盘并删除所有~$开头的文件,如何搜索隐藏的文件? [打印本页]

作者: ygqiang    时间: 2023-6-26 16:33     标题: [已解决]搜索全盘并删除所有~$开头的文件,如何搜索隐藏的文件?

本帖最后由 ygqiang 于 2023-6-26 19:54 编辑

[已解决]搜索全盘并删除所有~$开头的文件,如何搜索隐藏的文件?
目前问题是:代码1:如果是符合条件的隐藏文件无法搜索到。如果是符合条件的普通文件是可以搜索到并删除。
代码2:可以搜索到所有的文件,包括隐藏文件。
代码2,如何合并到代码1里面?谢谢
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. echo 代码1:
  4. call :zxcz ~$*.*
  5. 1pause
  6. cls
  7. exit
  8. :zxcz
  9. for %%a in (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) do (
  10. if exist %%a:\nul (
  11. pushd %%a:\
  12. for /r %%b in (%1) do if exist "%%b" (
  13. echo=%%b
  14. set z1=%%b
  15. echo !z1!
  16. del /q !z1!
  17. )
  18. popd
  19. ))
  20. goto :eof
复制代码
  1. @echo off
  2. echo 代码2:可以搜索到所有的文件,包括隐藏文件。
  3. for /f "delims=" %%b in ('dir /a-d/b/s')  do @echo "%%b" && pause
复制代码

作者: 77七    时间: 2023-6-26 16:58

  1. del /?
复制代码
  /P            删除每一个文件之前提示确认。
  /F            强制删除只读文件。
  /S            删除所有子目录中的指定的文件。
  /Q            安静模式。删除全局通配符时,不要求确认
  /A            根据属性选择要删除的文件
  属性          R  只读文件            S  系统文件
                H  隐藏文件            A  准备存档的文件
                I  无内容索引文件      L  重新分析点
                O  脱机文件            -  表示“否”的前缀


进入根目录后 试试
  1. del /s /ah "~$*.*"
复制代码

作者: Batcher    时间: 2023-6-26 17:04

回复 1# ygqiang


如果搜不到,那是 for /r 的问题。
如果删不掉,那是 del 的问题。
请先确认一下问题在哪一步?
作者: ygqiang    时间: 2023-6-26 19:03

回复 3# Batcher


    是搜索不到隐藏文件。如果设置非隐藏,就可以搜索到并删除。
作者: Batcher    时间: 2023-6-26 19:18

回复 4# ygqiang


阅读教程中 for /r 处理隐藏属性时存在的问题以及 for /f + dir 解决方法
http://bbs.bathome.net/thread-2189-1-1.html
作者: ygqiang    时间: 2023-6-26 19:54

本帖最后由 ygqiang 于 2023-7-9 20:19 编辑

[已解决],最终代码如下。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. call :zxcz ~$*.*
  4. 1pause
  5. cls
  6. exit
  7. :zxcz
  8. for %%a in (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) do (
  9. if exist %%a:\nul (
  10. pushd %%a:\
  11. for /f "delims=" %%b in ('dir /a-d/b/s %1')  do if exist "%%b" (
  12. echo=%%b
  13. set z1=%%b
  14. echo !z1!
  15. 1pause
  16. cls
  17. echo del  /q /a "!z1!"
  18. del /q /a "!z1!"
  19. 1pause
  20. cls
  21. )
  22. popd
  23. )
  24. )
  25. goto :eof
复制代码

作者: ygqiang    时间: 2023-7-9 20:20

搜索全盘并删除含有关键字的文件
  1. @echo off
  2. rem 指定待搜索的文件
  3. set "FileName=Yua.exe"
  4. echo 正在搜索,请稍候...
  5. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  6. if exist %%a:\ (
  7. for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%FileName%" 2^>nul') do (
  8. if /i "%%~nxb" equ "%FileName%" (
  9. echo %%b 1>nul
  10. echo del /f /q "%%b"
  11. del /q /a "%%b"
  12. 1pause
  13. cls
  14. set a=1
  15. )
  16. )
  17. )
  18. )
  19. if not defined a (
  20. echo 没找到
  21. )
  22. pause
  23. 复制代码
复制代码





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