标题: [文本处理] [已解决]BAT怎样扫描文件夹下的文件并生成htm? [打印本页]
作者: air_zq 时间: 2013-9-18 18:49 标题: [已解决]BAT怎样扫描文件夹下的文件并生成htm?
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
作者: foxJL 时间: 2013-9-18 19:44
看看这个行不行- @echo off
- echo.>photo.htm
- for /r D:\ %%i in (*cov*.*) do (
- >>photo.htm echo.^<a href="%%i" target="_blank"^>^<img src="%%i" width="200" /^>^</a^>
- )
- pause
复制代码
作者: Lumiere 时间: 2013-9-18 23:59
回复 1# air_zq - 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
复制代码
作者: air_zq 时间: 2013-9-19 16:32
回复 2# foxJL
老感谢了 ,代码简直太棒了。有点点小问题,因为输出的多,可不可以当输出多个htm,比方:每找到5个cov,产生一个文件。
还有就是输出htm,比方 图是 c:\1\1.jpg 点链接要打开 c:\1\ 而不是图片。
作者: foxJL 时间: 2013-9-19 18:11
回复 4# air_zq
下次请一次性把问题描述清楚- @echo off & setlocal enabledelayedexpansion
- set n_1=0
- for /r d:\ %%i in (*cov*.*) do (
- set /a n+=1
- if !n! leq 5 (>>photo-!n_1!.htm echo.^<a href="%%~pi" target="_blank"^>^<img src="%%i" height="200" /^>^</a^>) else (
- set /a n_1+=1
- set n=1
- >>photo-!n_1!.htm echo.^<a href="%%~pi" target="_blank"^>^<img src="%%i" height="200" /^>^</a^>
- )
- )
- pause
复制代码
作者: 853122 时间: 2013-9-30 00:11
高手
作者: air_zq 时间: 2013-10-7 19:12
回复 5# foxJL
感谢 foxJL大.
作者: air_zq 时间: 2013-10-7 19:14
回复 5# foxJL
foxJL 大,有什么办法可以输出结果? 比方,只找到4个,如何输出4的值体现在 htm中 呢?
作者: foxJL 时间: 2013-10-8 10:06
回复 8# air_zq
现在是找到5个文件生成1个htm网页,你是要在htm网页中显示总数还是只显示每个htm中的数量
作者: air_zq 时间: 2013-10-8 20:03
本帖最后由 air_zq 于 2013-10-8 20:04 编辑
回复 9# foxJL
抛开输出n个htm,找到文件夹 含有 *cov*.* 的4个文件,打开这个网页后,会显示4个图片对吧。然后在图片后面要显示“只找到4个文件。” 如果找到3个,那就显示“只找到3个文件。”这个4或者3 如何用bat输出呢?
这个找到的值是找到图片个数的值,不是找到htm个数的值
作者: foxJL 时间: 2013-10-8 20:25
回复 10# air_zq - @echo off
- >photo.htm echo.
- for /r D:\ %%i in (*cov*.*) do (
- set/a n+=1
- >>photo.htm echo.^<a href="%%~pi" target="_blank"^>^<img src="%%i" height="200" /^>^</a^>)
- >>photo.htm echo.共找到%n%个文件
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |