标题: [已解决]批处理怎样查找相对路径文件夹,并显示到文本? [打印本页]
作者: wwjpl 时间: 2011-1-13 00:21 标题: [已解决]批处理怎样查找相对路径文件夹,并显示到文本?
目录结构如下,例:
c:\Program Files\12\333\44
d:\Program Files\56\333\44
e:\Program Files\ff3\333\44
其中文件夹名:“12”“56”“ff3”是不确定的,文件夹“Program Files”是确定的。
而我要在全盘的“Program Files”文件夹下查找333下的44文件夹,请问批处理该如何写?
谢谢。
[ 本帖最后由 wwjpl 于 2011-1-13 16:20 编辑 ]
作者: hanyeguxing 时间: 2011-1-13 00:44
- @echo off&setlocal enabledelayedexpansion
- (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 %%a: 2>nul&&for /r "\Program Files" /d %%b in (*) do (
- set b=%%b
- if /i "!b:~-7!"=="\333\44" echo %%b
- ))>>c:\1.txt
复制代码
- @echo off&setlocal enabledelayedexpansion
- (for /f "skip=1 delims=" %%a in ('wmic logicaldisk where DriveType^=3 get DeviceID') do (
- set a=%%a
- for /f "delims=" %%b in ('dir "!a:~0,2!\Program Files" /s/b/ad 2^>nul') do (
- set b=%%b
- if /i "!b:~-7!"=="\333\44" echo !b!
- )))>c:\1.txt
复制代码
[ 本帖最后由 hanyeguxing 于 2011-1-13 01:16 编辑 ]
作者: wwjpl 时间: 2011-1-13 01:08 标题: 回复 2楼 的帖子
谢谢版主的帮助
我试验了一下,在任意盘下建立了\Program Files\56\333\44路径是可以的,但我改了你的批处理的如下路径为:
“if "!a:~-6!"=="Vipdoc\sz" echo %%a”
并且建立了Program Files\jcb_gx\Vipdoc\sz路径及目录,批处理就不起作用了。
麻烦你再帮看看,拜谢。
作者: hanyeguxing 时间: 2011-1-13 01:12
“if /i "!a:~-6!"=="Vipdoc\sz" echo %%a
这里的数字指的是后面引号里字符的个数,所以这里应该改成9
作者: hanyeguxing 时间: 2011-1-13 01:17
- @echo off&setlocal enabledelayedexpansion
- (for /f "skip=1 delims=" %%a in ('wmic logicaldisk where DriveType^=3 get DeviceID') do (
- set a=%%a
- for /f "delims=" %%b in ('dir "!a:~0,2!\Program Files" /s/b/ad 2^>nul^|find /i "\Vipdoc\sz"') do echo %%b
- ))>c:\1.txt
复制代码
这样不需要数字符个数
[ 本帖最后由 hanyeguxing 于 2011-1-13 01:18 编辑 ]
作者: wwjpl 时间: 2011-1-13 16:10 标题: 回复 5楼 的帖子
不好意思,由于我的表达不清楚,导致版主费心了,用了5楼的答案,问题解决了。
非常感谢!!!
作者: wwjpl 时间: 2011-1-13 16:11 标题: 回复 5楼 的帖子
不好意思,由于我的表达不清楚,导致版主费心了,用了5楼的答案,问题解决了。
非常感谢!!!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |