Board logo

标题: [已解决]批处理怎样查找相对路径文件夹,并显示到文本? [打印本页]

作者: 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

  1. @echo off&setlocal enabledelayedexpansion
  2. (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 (
  3.         set b=%%b
  4.         if /i "!b:~-7!"=="\333\44" echo %%b
  5. ))>>c:\1.txt
复制代码
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "skip=1 delims=" %%a in ('wmic logicaldisk where DriveType^=3 get DeviceID') do (
  3.         set a=%%a
  4.         for /f "delims=" %%b in ('dir "!a:~0,2!\Program Files" /s/b/ad 2^>nul') do (
  5.                 set b=%%b
  6.                 if /i "!b:~-7!"=="\333\44" echo !b!
  7. )))>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

  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "skip=1 delims=" %%a in ('wmic logicaldisk where DriveType^=3 get DeviceID') do (
  3.         set a=%%a
  4.         for /f "delims=" %%b in ('dir "!a:~0,2!\Program Files" /s/b/ad 2^>nul^|find /i "\Vipdoc\sz"') do echo %%b
  5. ))>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