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

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

目录结构如下,例:
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 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  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 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 2楼 的帖子

谢谢版主的帮助
我试验了一下,在任意盘下建立了\Program Files\56\333\44路径是可以的,但我改了你的批处理的如下路径为:
“if "!a:~-6!"=="Vipdoc\sz" echo %%a”
并且建立了Program Files\jcb_gx\Vipdoc\sz路径及目录,批处理就不起作用了。
麻烦你再帮看看,拜谢。

TOP

“if /i "!a:~-6!"=="Vipdoc\sz" echo %%a
这里的数字指的是后面引号里字符的个数,所以这里应该改成9
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

  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 编辑 ]
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 5楼 的帖子

不好意思,由于我的表达不清楚,导致版主费心了,用了5楼的答案,问题解决了。
非常感谢!!!

TOP

回复 5楼 的帖子

不好意思,由于我的表达不清楚,导致版主费心了,用了5楼的答案,问题解决了。
非常感谢!!!

TOP

返回列表