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

[文本处理] [已解决]BAT怎样扫描文件夹下的文件并生成htm?

[复制链接]
发表于 2013-9-18 18:49:47 | 显示全部楼层 |阅读模式
d:\Zhou\Desktop\1920>dir /a /b /s *cov*.*
d:\Zhou\Desktop\1920\jvltmgjv\3l99bnqu\lxktrwjt_cov.jpg
d:\Zhou\Desktop\1920\jvltmgjv\qzb9exo7\k6vst4sy_cov.jpg
d:\Zhou\Desktop\1920\jvltmgjv\vd6r00mv\bnvxb9il_cov.jpg
d:\Zhou\Desktop\1920\vi4stelv\3l99bnqu\lxktrwjt_cov.jpg
d:\Zhou\Desktop\1920\vi4stelv\qzb9exo7\k6vst4sy_cov.jpg
d:\Zhou\Desktop\1920\vi4stelv\vd6r00mv\bnvxb9il_cov.jpg

文件夹名是多个英文加数字构成,文件名也是这样,但每个目录下的文件名都含有 “cov”,如何批量扫描这个目录然后然后生成以下htm代码?


<a href="jvltmgjv/3l99bnqu/" target="_blank"><img src="jvltmgjv/3l99bnqu/lxktrwjt_cov.jpg" width="300" height="300" /></a>

扫描文件夹下的文件并生成htm

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-9-18 19:44:47 | 显示全部楼层
看看这个行不行
  1. @echo off
  2. echo.>photo.htm
  3. for /r D:\ %%i in (*cov*.*) do (
  4. >>photo.htm echo.^<a href="%%i" target="_blank"^>^<img src="%%i" width="200" /^>^</a^>
  5. )
  6. pause
复制代码
发表于 2013-9-18 23:59:34 | 显示全部楼层
回复 1# air_zq
  1. for /f "tokens=1-3 delims=/" %%a in ('dir d:\Zhou\Desktop\1920 /a-d /s /b *cov.jpg') do echo ^<a href="%%a/%%b/" target="_blank"^>^<img src="%%a/%%b/%%c" width="300" height="300" /^>^</a^>>>1.htm
复制代码
 楼主| 发表于 2013-9-19 16:32:31 | 显示全部楼层
回复 2# foxJL

    老感谢了 ,代码简直太棒了。有点点小问题,因为输出的多,可不可以当输出多个htm,比方:每找到5个cov,产生一个文件。

还有就是输出htm,比方 图是 c:\1\1.jpg   点链接要打开 c:\1\   而不是图片。
发表于 2013-9-19 18:11:17 | 显示全部楼层
回复 4# air_zq


    下次请一次性把问题描述清楚
  1. @echo off & setlocal enabledelayedexpansion
  2. set n_1=0
  3. for /r d:\ %%i in (*cov*.*) do (
  4.         set /a n+=1
  5.         if !n! leq 5 (>>photo-!n_1!.htm echo.^<a href="%%~pi" target="_blank"^>^<img src="%%i" height="200" /^>^</a^>) else (
  6.         set /a n_1+=1
  7.         set n=1
  8.         >>photo-!n_1!.htm echo.^<a href="%%~pi" target="_blank"^>^<img src="%%i" height="200" /^>^</a^>
  9.         )
  10. )
  11. pause
复制代码

评分

参与人数 2技术 +2 收起 理由
oett + 1 太牛了
Batcher + 1 乐于助人

查看全部评分

发表于 2013-9-30 00:11:40 | 显示全部楼层
高手
 楼主| 发表于 2013-10-7 19:12:10 | 显示全部楼层
回复 5# foxJL


    感谢 foxJL大.
 楼主| 发表于 2013-10-7 19:14:18 | 显示全部楼层
回复 5# foxJL


    foxJL 大,有什么办法可以输出结果? 比方,只找到4个,如何输出4的值体现在 htm中 呢?
发表于 2013-10-8 10:06:00 | 显示全部楼层
回复 8# air_zq


    现在是找到5个文件生成1个htm网页,你是要在htm网页中显示总数还是只显示每个htm中的数量
 楼主| 发表于 2013-10-8 20:03:01 | 显示全部楼层
本帖最后由 air_zq 于 2013-10-8 20:04 编辑

回复 9# foxJL


    抛开输出n个htm,找到文件夹 含有 *cov*.* 的4个文件,打开这个网页后,会显示4个图片对吧。然后在图片后面要显示“只找到4个文件。” 如果找到3个,那就显示“只找到3个文件。”这个4或者3 如何用bat输出呢?
这个找到的值是找到图片个数的值,不是找到htm个数的值
发表于 2013-10-8 20:25:04 | 显示全部楼层
回复 10# air_zq
  1. @echo off
  2. >photo.htm echo.
  3. for /r D:\ %%i in (*cov*.*) do (
  4. set/a n+=1
  5. >>photo.htm echo.^<a href="%%~pi" target="_blank"^>^<img src="%%i" height="200" /^>^</a^>)
  6. >>photo.htm echo.共找到%n%个文件
  7. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 18:40 , Processed in 0.033070 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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