
标题: [文本处理] 批处理如何搜索所有磁盘包含u盘及光盘根目录下的文件夹并返回绝对路径? [打印本页]
作者: xintiandi 时间: 2021-8-1 15:47 标题: 批处理如何搜索所有磁盘包含u盘及光盘根目录下的文件夹并返回绝对路径?
请教如何搜索所有磁盘包含u盘及光盘根目录下的2个文件夹,并返回绝对路径。不知道我叙述的是否清楚,就是说只搜寻一次分区的根目录下的文件夹,但是要指定2个文件夹的名称,搜到后要返回绝对路径并显示在屏幕上。二级目录可能也存在同名文件夹,但要忽略。高人指点一下,之前试了一下,可以搜到文件名但是只能一个,第二个就退出不继续了。
作者: idwma 时间: 2021-8-1 18:01
@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
作者: xintiandi 时间: 2021-8-2 23:28
本帖最后由 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
作者: idwma 时间: 2021-8-4 13:39
回复 3# xintiandi
里面的dir /s去掉就可以了
作者: cmd1152 时间: 2021-8-4 13:50
回复 3# xintiandi
去掉/S就好
代码:- @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 "imdisk.txt" "isos.txt" 2^>nul') do echo;%%b
- popd
- )
- )
- echo;搜索完毕!
- pause
复制代码
作者: Batcher 时间: 2021-8-5 22:08
回复 3# xintiandi
WMIC是系统默认自带的命令,请参考Q-01观察一下详细的报错信息:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
作者: xintiandi 时间: 2021-8-12 21:48
回复 4# idwma
谢谢。
作者: xintiandi 时间: 2021-8-12 21:49
回复 5# cmd1152
非常感谢。
作者: xintiandi 时间: 2021-8-12 21:50
回复 6# Batcher
谢谢,没有想到一个小小的问题,还是很多热心的朋友都来回复。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |