找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21009|回复: 2

[文本处理] 【已解决】批处理命令for怎样扫描指定的文件夹及其子目录下的配置文件?

[复制链接]
发表于 2014-10-4 16:05:08 | 显示全部楼层 |阅读模式
本帖最后由 chouxia 于 2014-10-28 08:15 编辑

想实现这一的功能,批处理扫描指定的文件夹及其子目录下的配置文件,输出内容含有rendering=0的文件
把这个文件中指定的行赋值给变量
显示变量内容。
我写的代码如下:
  1. @echo off
  2. cd \work
  3. for /f %%z in ('findstr /s /i /m "rendering=0" *.*') do (
  4.         for /f "tokens=1,* delims=="  %%a in ('find "fts" ^< %%z') do (
  5.                 for /f "tokens=1,* delims=="  %%c in ('find "inipath" ^< %%z') do (
  6.                         for /f "tokens=1,* delims=="  %%e in ('find "cam" ^< %%z') do (
  7.                                 for /f "tokens=1,* delims=="  %%g in ('find "arjpath" ^< %%z') do (
  8.                                 set v=%%b
  9.                                 set w=%%d
  10.                                 set x=%%f
  11.                                 set y=%%h
  12.                                 echo %v% %w% %x%  %y%
  13.                                 )
  14.                         )
  15.                 )
  16.         )
  17. )
复制代码
悲剧的是,程序只输出findstr 的最后一个路径。过程路径一个都没有。
输出结果如下(work目录下有4个符合要求的子目录):
19854  v:\work\ddd\  HP  c611.arj
19854  v:\work\ddd\  HP  c611.arj
19854  v:\work\ddd\  HP  c611.arj
19854  v:\work\ddd\  HP  c611.arj
发表于 2014-10-4 21:33:00 | 显示全部楼层
@echo off
setlocal enabledelayedexpansion
cd \work
for /f %%z in ('findstr /s /i /m "rendering=0" *.*') do (
    for /f "tokens=1,* delims=="  %%a in ('find "fts" ^< %%z') do (
        for /f "tokens=1,* delims=="  %%c in ('find "inipath" ^< %%z') do (
            for /f "tokens=1,* delims=="  %%e in ('find "cam" ^< %%z') do (
                for /f "tokens=1,* delims=="  %%g in ('find "arjpath" ^< %%z') do (
                    set v=%%b
                    set w=%%d
                    set x=%%f
                    set y=%%h
                    echo !v! !w! !x! !y!
                )
            )
        )
    )
)
 楼主| 发表于 2014-10-7 12:25:08 | 显示全部楼层
感谢你的帮助。这个地方正好是我的短板。
好长时间不玩批处理了。
貌似很多东西都不太了解了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 15:28 , Processed in 0.016801 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表