如何用bat全盘搜索并打开文件所在文件夹

如何用bat全盘搜索并打开文件所在文件夹,第1张

@echo off &title 全盘搜索指定文盯答件并打开其所在位置的文件夹 By 依梦琴瑶

::设置要搜索的文件名

set File=ABC.txt

for /f "tokens=2 delims==:" %%a in ('wmic LogicalDisk where "DriveType='3'" get DeviceID /value') do (

pushd %%~a:\

echo 正在搜索 %%~a 盘,此过程可能很耗时间,请凯侍慧耐心等谈睁待。。。 &echo,

for /f "delims=" %%b in ('dir /a-d /s /b "%File%"') do (

start "" explorer "%%~dpb"

)

echo, &echo,

popd

)

pause

如果是win系统神皮的话直接使用查找就可以了,如果是你想用bat命令来查找的话可以饥巧用dir

123.exe/s就可以游肢差了,当然先转到某个盘中去。

例如:

c:

cd\

dir

123.exe/s

d:

cd\

dir

123.exe/s

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

废话不多说,直接上代码,额,想用的话,自己保存成bat文件即可。

【方案一】for /f + dir

@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 效率高,但不会汪薯遍历隐藏文件)

@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 精简版可能不支持)

@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 命令

@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

)

)

)

)

打开文件的代码:

bat如何查找指定目录下含有关键字的文件夹并打开

@echo off

set /p folder=请输入文件夹关键字

for /f "delims=" %%a in ('dir /ad /b /s D:\Report') do (

echo %%a|find "%folder%" >nul &&(start "" "%%~a"&exit)

)

以上供你参考。能力有限,你自己看着捣鼓吧


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12265886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存