[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何搜索所有磁盘包含u盘及光盘根目录下的文件夹并返回绝对路径?

请教如何搜索所有磁盘包含u盘及光盘根目录下的2个文件夹,并返回绝对路径。不知道我叙述的是否清楚,就是说只搜寻一次分区的根目录下的文件夹,但是要指定2个文件夹的名称,搜到后要返回绝对路径并显示在屏幕上。二级目录可能也存在同名文件夹,但要忽略。高人指点一下,之前试了一下,可以搜到文件名但是只能一个,第二个就退出不继续了。

@echo off
for /f "skip=1" %%i in ('wmic logicaldisk get deviceid') do (
if not "%%i"=="" forfiles /p %%i\ /c "cmd /c if @isdir==FALSE echo @path"
)|findstr /i "111 222"
pause

TOP

本帖最后由 xintiandi 于 2021-8-2 23:29 编辑

回复 2# idwma


    我试了,不行,是不是需要wmic服务启用才行哦。
   我在网上找了一段代码可以,但是有时搜索过程有点长,我的电脑有多个硬盘。不知道有没有更高级的,其实我只需要搜寻一级目录,下面的代码要搜寻子目录,我不知道怎么搜目录,只有在需要的目录中分别建了一个空文件来定位。
@echo off
rem 全盘搜索/查找指定名称的文件
title 开始搜索.....
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) do (
if exist %%a:\ (
echo;%%a: searching……
pushd %%a:\
for /f "delims=" %%b in ('dir /a-d-h/b/s "imdisk.txt" "isos.txt" 2^>nul') do echo;%%b
popd
)
)
echo;搜索完毕!
pause

TOP

回复 3# xintiandi


    里面的dir /s去掉就可以了

TOP

回复 3# xintiandi


    去掉/S就好
  /S          显示指定目录和所有子目录中的文件。

    代码:
  1. @echo off
  2. rem 全盘搜索/查找指定名称的文件
  3. title 开始搜索.....
  4. 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) do (
  5. if exist %%a:\ (
  6. echo;%%a: searching……
  7. pushd %%a:\
  8. for /f "delims=" %%b in ('dir /a-d-h/b "imdisk.txt" "isos.txt" 2^>nul') do echo;%%b
  9. popd
  10. )
  11. )
  12. echo;搜索完毕!
  13. pause
复制代码
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 3# xintiandi


WMIC是系统默认自带的命令,请参考Q-01观察一下详细的报错信息:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# idwma


    谢谢。

TOP

回复 5# cmd1152


    非常感谢。

TOP

回复 6# Batcher


    谢谢,没有想到一个小小的问题,还是很多热心的朋友都来回复。

TOP

返回列表