热门博客

(转)批处理(bat)全盘搜索指定文件获取其完整路径方法大全

我爱IT资讯库   2021/02/21

本文总结了4种实现全盘搜索指定文件获取其完整路径的bat批处理文件源码,有需要的朋友可以参考下

【方案一】for /f + dir

1

2

3

4

5

6

7

8

9

10

11

12

13

@echo off

rem 指定待搜索的文件

set "FileName=BatHome_Batcher.txt"

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

      )

    )

  )

)

【方案二】for /r(比 for /f + dir 效率高,但不会遍历隐藏文件)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

@echo off

rem 指定待搜索的文件

set "FileName=BatHome_Batcher.txt"

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:\ (

    pushd %%a:\

    for /r %%b in (*%FileName%) do (

      if /i "%%~nxb" equ "%FileName%" (

        echo,%%b

      )

    )

    popd

  )

)

【方案三】WMIC(Win2000/WinXP HOME版、WinXP 精简版可能不支持)

1

2

3

4

5

6

7

8

9

10

11

12

@echo off

rem 指定待搜索的文件

set "FileName=BatHome_Batcher.txt"

echo 正在搜索,请稍候...

for %%a in ("%FileName%"do (

  set "nName=%%~na"

  set "xName=%%~xa"

)

set "xName=%xName:~1%"

for /f "skip=1 delims=" %%a in ('wmic datafile where "filename='%nName%' and Extension='%xName%'" get name'do (

  echo,%%a

)

【方案四】使用 Windows7 系统自带的 where 命令

1

2

3

4

5

6

7

8

9

10

11

12

13

@echo off

rem 指定待搜索的文件

set "FileName=BatHome_Batcher.txt"

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 ('where /r %%a: "%FileName%" 2^>nul'do (

      if /i "%%~nxb" equ "%FileName%" (

        echo,%%b

      )

    )

  )

)





热门内容

Java线程讲解

一 线程的基本概念 线程是一个程序内部的顺序控制流.一个进程相当于一个任务,一个线程相当于一个任务中的一条执行路径. ... ...

css display:none和visibility:hidden和visible="false"区别

  如果在p的style中把visibility设为 hidden则p隐藏,但是它会占据空白空间,... ...

ASP.NET[1]

   有很多人学过ASP,用ASP做过网站,可是到ASP .NET环境下发现,变化真是太大了... ...

构建一个安全的软件系统时,可能遇到的风险及解决方案(未完)

随着汽车工业的发展,汽车早以不是那个由一堆零件组成的大机器,而是由机械和电子器件构成的整体系统。并且,这个... ...
VPS上安装ShadowSocks

VPS上安装ShadowSocks

shadowsocks 是一个轻量级隧道代理,用来穿过防火墙。 我的VPS机器安装的是CentOS系统、... ...

ResultSet 调用getString 抛出NullPointException问题的解决

在Java连接数据库时,有时候在ResultSet 调用getString (或其他类似的方法),有时候会抛出Nu... ...

浅谈OSIV与泛型DAO模式

open session in view  简称 OSIV 模式 在Hibernate中能更好的应... ...

数据库设计原理:数据建模的三个阶段

如果你在Google或者百度上搜索数据建模,相信可以搜索出很多关于数据建模的文章,但是你会发现其中绝大部分是理论、... ...

ajaxfileupload.js 文件上传

一,前台代码。 <input id="fileToUpload" type="... ...

ios的标志常量

1 dec 2 fixed 3 hex 4 internal 5 left 6 oct 7 right 8 scien ...

discuz删除垃圾帖子

有时候如果你的论坛被垃圾帖子占满后,会发现使用后台的删除功能还是有些慢, 我们需要先备份自己需要的帖子,然后进行下面的 ...

Hibernate的主配置文件hibernate.cfg.xml

1:hibernate的主配置文件的名字必须是hibernate.cfg.xml:   1.1:主配置文件主要分为三部分 ...

关于html base元素的使用

base元素可以用于设置页面嵌入的css文件或js文件链接的基地址。 例子: <h... ...

类型转换与强制转换

自动转换: 举一个例子:把一个小的东西放到一个大的盒子里,是件非常容易的事,不用做任何改变,在这里理解成自动转换。... ...

利用wxwidgets操纵word

最近在学习怎么用wxwidgets来操纵word,寻找之中发现MedeoSoftware,里面有很多wxwidgets的... ...

Python中的简单类型

整数 & 浮点数 整数有两种,分别是 int 和 long。其中 int 最大值是 2147483647... ...

JS-时间函数

/** * 日期范围工具类 */ var daterangeutil = (function () { /** ...
“大数据”信息平台 覆盖社区5000老年人

“大数据”信息平台 覆盖社区5000老年人

突然头疼脑热,身边没人照顾;电灯坏了、水管漏了,该找谁来帮忙修?菊园新区智慧养老项目搭建了一个为老综合服务平台... ...

在PHP中全局变量的使用详解

即使开发一个新的大型PHP程序,你也不可避免的要使用到全局数据,因为有些数据是需要用到你的代码的不同部分的。一些常见的全... ...

名称空间也可以自定义

名字空间的定义 名字空间除了系统定义的名字空间之外,还可以自己定义,定义名字空间用关键字namespace,使用名字空 ...
从量价变化中洞察主力意图

从量价变化中洞察主力意图

成份B指(399003.SZ) <script language="JavaScript" typ... ...
android 继承view类刷新页面【安卓进化十一】

android 继承view类刷新页面【安卓进化十一】

       最近做项目中发现,继承了view类的子类... ...

C# XmlSerializer 对象的Xml序列化和反序列化

    .Net程序执行时,对象都驻留在内存中;内存中的对象如果需要传递给其他系统使用;或者在... ...

hdu-1286找新朋友(欧拉函数,水题)

题目链接: 找新朋友 time limit: 2000/1000 ms (java/others)memory limi ...

java程序 处理 andrid本地帮助文档打开慢的方式

    下载本地的android自带sdk帮助文档由于有被墙的google地址,可以通... ...

RTTI学习笔记

翻看C++的书,对RTTI的讲解都很困惑,"你知道你的对象是哪个类吗","RTTI常用于调试和数据库程序"对这些讲... ...

使用axis2传输附件

服务端Service文件: import java.io.FileOutputStream; import jav... ...

sql server 的行转列

sql server中行转列在sql2005之后,sqlserver引入了pivot运算符,也即是可以旋转行为列,... ...
【Node.js基础篇】(九)使用readline模块实现Node.js的输入输出

【Node.js基础篇】(九)使用readline模块实现Node.js的输入输出

学C++的时候,有cout和cin,Java也有println和Scanner控件,Node.js也有如同... ...
iOS 应用支持4寸屏

iOS 应用支持4寸屏

iPhone 5出了,一大批应用要兼容新的分辨率,下载了Xcode 4.5,在官方那里找不到有关兼容新分辨... ...