找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20651|回复: 6

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

[复制链接]
发表于 2023-6-26 16:33:32 | 显示全部楼层 |阅读模式
本帖最后由 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
复制代码

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

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


进入根目录后 试试
  1. del /s /ah "~$*.*"
复制代码
发表于 2023-6-26 17:04:58 | 显示全部楼层
回复 1# ygqiang


如果搜不到,那是 for /r 的问题。
如果删不掉,那是 del 的问题。
请先确认一下问题在哪一步?
 楼主| 发表于 2023-6-26 19:03:10 | 显示全部楼层
回复 3# Batcher


    是搜索不到隐藏文件。如果设置非隐藏,就可以搜索到并删除。
发表于 2023-6-26 19:18:20 | 显示全部楼层
回复 4# ygqiang


阅读教程中 for /r 处理隐藏属性时存在的问题以及 for /f + dir 解决方法
http://bbs.bathome.net/thread-2189-1-1.html
 楼主| 发表于 2023-6-26 19:54:22 | 显示全部楼层
本帖最后由 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

复制代码
 楼主| 发表于 2023-7-9 20:20:34 | 显示全部楼层
搜索全盘并删除含有关键字的文件
  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. 复制代码
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 18:23 , Processed in 0.028286 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表