标题: [文件操作] [已解决]搜索全盘并删除所有~$开头的文件,如何搜索隐藏的文件? [打印本页]
作者: ygqiang 时间: 2023-6-26 16:33 标题: [已解决]搜索全盘并删除所有~$开头的文件,如何搜索隐藏的文件?
本帖最后由 ygqiang 于 2023-6-26 19:54 编辑
[已解决]搜索全盘并删除所有~$开头的文件,如何搜索隐藏的文件?
目前问题是:代码1:如果是符合条件的隐藏文件无法搜索到。如果是符合条件的普通文件是可以搜索到并删除。
代码2:可以搜索到所有的文件,包括隐藏文件。
代码2,如何合并到代码1里面?谢谢- @echo off
- setlocal enabledelayedexpansion
- echo 代码1:
- call :zxcz ~$*.*
- 1pause
- cls
- exit
-
-
- :zxcz
- 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 (
- if exist %%a:\nul (
- pushd %%a:\
- for /r %%b in (%1) do if exist "%%b" (
- echo=%%b
- set z1=%%b
- echo !z1!
- del /q !z1!
- )
- popd
- ))
- goto :eof
复制代码
- @echo off
- echo 代码2:可以搜索到所有的文件,包括隐藏文件。
- for /f "delims=" %%b in ('dir /a-d/b/s') do @echo "%%b" && pause
复制代码
作者: 77七 时间: 2023-6-26 16:58
复制代码
/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 删除所有子目录中的指定的文件。
/Q 安静模式。删除全局通配符时,不要求确认
/A 根据属性选择要删除的文件
属性 R 只读文件 S 系统文件
H 隐藏文件 A 准备存档的文件
I 无内容索引文件 L 重新分析点
O 脱机文件 - 表示“否”的前缀
进入根目录后 试试
复制代码
作者: 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 编辑
[已解决],最终代码如下。- @echo off
- setlocal enabledelayedexpansion
- call :zxcz ~$*.*
- 1pause
- cls
- exit
-
-
- :zxcz
- 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 (
- if exist %%a:\nul (
- pushd %%a:\
- for /f "delims=" %%b in ('dir /a-d/b/s %1') do if exist "%%b" (
- echo=%%b
- set z1=%%b
- echo !z1!
- 1pause
- cls
- echo del /q /a "!z1!"
- del /q /a "!z1!"
- 1pause
- cls
- )
- popd
- )
- )
- goto :eof
复制代码
作者: ygqiang 时间: 2023-7-9 20:20
搜索全盘并删除含有关键字的文件- @echo off
- rem 指定待搜索的文件
- set "FileName=Yua.exe"
- echo 正在搜索,请稍候...
- 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 (
- if exist %%a:\ (
- for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%FileName%" 2^>nul') do (
- if /i "%%~nxb" equ "%FileName%" (
- echo %%b 1>nul
- echo del /f /q "%%b"
- del /q /a "%%b"
- 1pause
- cls
- set a=1
- )
- )
- )
- )
- if not defined a (
- echo 没找到
- )
- pause
- 复制代码
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |