标题: [文件操作] 求一个批处理扫描文件生成htm网页文件. [打印本页]
作者: zzw668 时间: 2015-11-21 09:19 标题: 求一个批处理扫描文件生成htm网页文件.
本帖最后由 zzw668 于 2015-11-21 18:01 编辑
求一个批处理扫描文件生成htm网页文件.
想实现一个功能:批处理文件扫描指定的文件夹中的制定文件类型并生成网页文件.
比如扫描D:\wwwroot\ce3下的所有带有文件名中有20150109的所有jpg文件可以用。
以下代码是坛子里面找的谢谢高手.- @echo off & setlocal enabledelayedexpansion
- set n_1=0
- for /r D:\wwwroot\ce3\ %%i in (*20150109*.jpg) 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
复制代码
现在有几个问题,跪求高手帮助!
1.如何让扫描时文件名根据当天时间动态变化比如今天是20150112就扫描*20150109*.jpg
2.生成的htm网页文件名能否也动态变化。哪天扫描的生成的文件以当天日期命名,并同名覆盖。
3.生成的图片地址以http://192.168 .1.13这样的格式,而不是文件目录D:\wwwroot\ce3\
作者: 依山居 时间: 2015-11-21 09:54
搜索批处理 当天日期,和变量截取。
>>是追加
>是覆盖写入
作者: zzw668 时间: 2015-11-23 10:08
- @echo off & setlocal enabledelayedexpansion
-
-
-
- rem echo
-
- for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c
- rem echo
-
- for /f "tokens=1,2,3 delims=:." %%a in ("%time%") do @set T=%%a%%b%%c
- rem echo
-
- set T=%T: =0%
- rem echo
- echo %D%
- del *%D%*.htm
- pause
- set n_1=0
- for /r D:\wwwroot\ce4\%D%\ %%i in (*%D%*.jpg) do (
- set /a n+=1
- if !n! leq 3 (>>%D%-!n_1!.htm echo.^<a href="%%~pi" target="_blank"^>^<img src="%
-
- %i" height="200" /^>^</a^>) else (
-
- set /a n_1+=1
- set n=1
- >>%D%-!n_1!.htm echo.^<a href="%%~pi" target="_blank"^>^<img src="%%i" height="200"
-
- /^>^</a^>
- )
- )
复制代码
pause
经过研究上面的问题 已经解决好两个了只有最后一个,求告手帮助把文件路径改写成网络路径.
也就是生成的
<img src="D:\wwwroot\ce4\20151122\20151122 (1).jpg" height="200" />
改写成
<img src="http://192.168.1.17/20151122/20151122 (1).jpg" height="200" />
作者: 依山居 时间: 2015-11-23 11:24
%%~pi 的用法在for 命令的说明下。
打for /?可以看得到。
你照说明改。- 另外,FOR 变量参照的替换已被增强。您现在可以使用下列
- 选项语法:
-
- %~I - 删除任何引号("),扩展 %I
- %~fI - 将 %I 扩展到一个完全合格的路径名
- %~dI - 仅将 %I 扩展到一个驱动器号
- %~pI - 仅将 %I 扩展到一个路径
- %~nI - 仅将 %I 扩展到一个文件名
- %~xI - 仅将 %I 扩展到一个文件扩展名
- %~sI - 扩展的路径只含有短名
- %~aI - 将 %I 扩展到文件的文件属性
- %~tI - 将 %I 扩展到文件的日期/时间
- %~zI - 将 %I 扩展到文件的大小
- %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展
- 到找到的第一个完全合格的名称。如果环境变量名
- 未被定义,或者没有找到文件,此组合键会扩展到
- 空字符串
-
- 可以组合修饰符来得到多重结果:
-
- %~dpI - 仅将 %I 扩展到一个驱动器号和路径
- %~nxI - 仅将 %I 扩展到一个文件名和扩展名
- %~fsI - 仅将 %I 扩展到一个带有短名的完整路径名
- %~dp$PATH:I - 搜索列在路径环境变量的目录,并将 %I 扩展
- 到找到的第一个驱动器号和路径。
- %~ftzaI - 将 %I 扩展到类似输出线路的 DIR
复制代码
作者: WHY 时间: 2015-11-23 12:38
- @echo off & setlocal enabledelayedexpansion
-
- for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do set "D=%%a%%b%%c"
- del *%D%*.htm 2>nul
-
- set "fd=D:\wwwroot\ce4\%D%"
- set n=-1
- for /r "%fd%\" %%i in (*%D%*.jpg) do (
- set /a n+=1, m=n/5
- set "f=%%i"
- set "f=!f:%fd%\=http://192.168.1.1/!"
- >>%D%-!m!.htm echo;^<a href="%%~pi" target="_blank"^>^<img src="!f:\=/!" height="200" /^>^</a^>
- )
复制代码
作者: 依山居 时间: 2015-11-23 12:46
回复 5# WHY
只扩展到文件名,用相对路径更好。我以为。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |