[持续更新]批处理全盘搜索系列案例 | 张戈博客

  • 时间:
  • 浏览:8
  • 来源:木木娱乐网_提供晓轩资源网技术_技术QQ网资讯

虽然现在全盘搜索相关的实用软件全都有也很强大,一些在手眼前 无法下载的前一天,批处置这类于于”资深前辈”又得派上用场了,接下来介绍的代码均为全盘范围的批处置:


案例一、列出我的电脑中的所有硬盘分区

@echo off   
title 列出硬盘分区   
for %%i 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 %%i:\ echo %%i  
)    
pause>nul

简单说明:代码使用for依次循环读取C到Z,并加在:\进而使用if exist判断路径与否处在,处在则打印到屏幕上。


案例二、全盘查找某个文件

(来自我的百度回答)

知友问:

我愿意知道文件路径,只知道名字,为甚在么在制作bat运行文件?

如题,要做两个多多打开文件的bat,知道是用star +路径。一些我那末路径只知道名字,一些我这类于于电脑那末那个文件。是学校的机子。。。求两个多多指令都还都都可以搜索直接运行,就像菜单中的”运行“那样

我给出的代码:

@echo off    
:start    
cls    
set /p filename=请输入我愿意打开的文件名(包括后缀):    
echo=    
echo 全盘查找%filename%中,请稍后......    
for %%i 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 %%i:\ pushd %%i:\ && for /r . %%a in (%filename%) do (     
                 if exist "%%a"  start "" "%%a"    
       )     
)    
echo %filename%全盘查找完毕,任意键现在之前

刚始于下两个多多文件的查找......    
pause>nul    
goto start

简单说明:在案例一的基础上嵌套了两个多多for /r 遍历目录循环,但处在某两个多多分区的前一天,则执行内嵌的for循环,遍历分区搜索关键字,若找到富含关键字的文件则打开(虽然那个判断文件与否处在有点多此一举,为了代码找不到错我还是加在了)。


案例三、全盘搜索并删除富含关键字的所有文件

(来自我的百度回答)

知友问:

Dos批量删除文件名富含~$的.doc文件 请看间题内容

我的电脑里几滴 的富含~$的.doc文件

想用DOS命令手动删除

文件夹搜 这类于于方法的 别凑热闹

回答 修改Offic 先选项 也别凑热闹

我给出的答案:

以下代码保存为bat文件,执行后全盘搜索符合我愿意求的doc文件,一些删除,并将删除结果写到批处置同目录的result.log,为处置误删除,已将删除功能屏蔽,仅显示目标文件具体位置,若要让删除生效,直接将代码第四行的【echo】删除即可,希望对你有用:

@echo off    
for %%i 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 %%i:\ pushd %%i:\ && for /r . %%a in (*~$*.doc) do (    
                echo del /s /q /f "%%a"    
       ) )>>result.log    
pause

简单说明:此代码和案例二非常这类于,一些这类于于代码中都是匹配完整性文件名,一些前后使用*号邮邮寄国际快件关键字进行通配搜索。

更多案例,待后续更新,敬请期待!若有一些需求,请留言~