标题: 如何批处理制作这样的网页?[就快解决问题了]
[打印本页]
作者: sea1112
时间: 2008-10-2 17:09
标题: 如何批处理制作这样的网页?[就快解决问题了]
如何批处理制作这样的网页?高手小弟有请了
我想把儿子一直照下来的相做成网页,可是相片N多,一个一个加就是"累“,现想到批处理写网页。(思路:运行P后,查找[./小图片/*.jpg],得到日期就开始制作菜单.....)
要求:把现有的相片做入网页。主页是导航菜单(内容格式是以下)

格式:
拍照日期 拍照日期相片1 拍照日期相片2 拍照日期相片3 拍照日期相片4 ........
例子:
1月1日 拍照日期相片1 拍照日期相片2 拍照日期相片3 拍照日期相片4 ........
1月2日 拍照日期相片1 拍照日期相片2 拍照日期相片3 拍照日期相片4 ........
......
要求:
菜单的拍照日期相片是小图片(./小图片/拍照日期相片1.jpg),i小图片有链接到拍照日期相片原图片(./原图片/拍照日期相片1.jpg)
第二就是原图片的页面了?
可以直接是一张图片的页面,但页面名是要主菜单可以批加入到网页链接的。
[
Last edited by sea1112 on 2008-10-5 at 13:07 ]
作者: sea1112
时间: 2008-10-2 17:13
还有要P下把原图做成指定大小的小图片的也写出来学习学习
文件有
小图片 原图片
a1 a2 a3 a4 a1 a2 a3 a4
[
Last edited by sea1112 on 2008-10-2 at 17:16 ]
作者: wdmzjhk
时间: 2008-10-2 17:47
for /r %%i in (*jpg) do start %%i
把以上代码复制保存到你 有图片的那个盘里面,后缀名为bat。应该就可以了,我 也是才学的。
作者: Evangel
时间: 2008-10-2 23:59
@echo off
for /f "tokens=1,4 skip=3" %%a in ('dir /a-d *.jpg') do (
echo ^<a href=%%b^>%%a^</a^> >>show.htm
)
由于不太理解这个过程,只好这样发过来了...
作者: sea1112
时间: 2008-10-3 01:29
日期 <a href="原相片.jpg"><img src="小图片.jpg" width="60" height="80" border="0"></a>
1。查找文件夹内从1月14日至今天的相片
2。生成第一行第一列,日期(如:1月14日)
3。查找文件夹内图片拍摄日期为1月14日第一张图片,找到后打原相片制作成60*80的小图片放到小图片文件夹中,改名与原相片名一样。
4。生成第一行第二列中加入小图片与链接到原图片。
5。继续查找日期为1月14日是否还有相片,如果有就加入到日期行的第三列中,一直查找到没日期为1月14日相片停。
6。接下去就是日期+1天了,工作是上边一样的。
做成的网页就是这样的。
[
Last edited by sea1112 on 2008-10-3 at 01:48 ]
作者: Evangel
时间: 2008-10-3 15:51
感谢楼主给了这个锻炼自己的机会,将本p处理放在图片文件夹下,运行后会产生show.htm,有个问题就是产生一个不存在的图片链接,我不会改呵呵...祝你的小宝宝健康成长...
用js会简单得很...一个for循环...
@echo off &setlocal enabledelayedexpansion
if exist show.htm del show.htm
::楼主自己更改下面照片的起始时间XXXX-XX-XX格式
set "pre=2008-09-10"
for /f "tokens=1,4 skip=3" %%a in ('dir /a-d *.jpg') do (
if /I "%%a" GEQ "2008-09-10" (
if not "!pre!" == "%%a" (
>>show.htm echo ^<br^>
>>show.htm echo ^<hr^>
>>show.htm echo %%a
>>show.htm echo ^<hr^>
echo "!pre!" "%%a"
set "pre=%%a"
)
echo ^<a href=%%b ^>^<img src=%%b alt=%%a width=80 height=60 border=0^>^</img^>^</a^> >>show.htm
)
)
start show.htm
作者: Evangel
时间: 2008-10-3 15:52
忘了,skip改成4
for /f "tokens=1,4 skip=4" %%a in ('dir /a-d *.jpg') do (
作者: sea1112
时间: 2008-10-3 18:10
出来的不是我图片的东西
不行,高人出来啊
[
Last edited by sea1112 on 2008-10-3 at 18:15 ]
作者: Evangel
时间: 2008-10-3 18:14
Quote: |
Originally posted by sea1112 at 2008-10-3 06:10 PM:
出来的不是我图片的东西 :( |
|
那还是什么样子?
作者: Evangel
时间: 2008-10-3 18:18
鄙视我?
作者: Evangel
时间: 2008-10-3 19:17
认输,实在改不来
>>show.htm echo ^<br^>
>>show.htm echo ^<hr^>
>>show.htm echo %%a帮楼主问一下,谁能帮忙把这里的时间格式改成XXXX年XX月XX日的形式...感激&&学习
>>show.htm echo ^<hr^>
作者: bat-zw
时间: 2008-10-3 19:35
批处理是做不出这样的效果的,但可以用一个变通的办法,运行以下批处理你将会得
到一份按修改时间排列的照片文件列表:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /s /a-d /b *.jpg') do (
set "str=%%~ti"
call,set "_!str:~,-6!=%%_!str:~,-6!%% %%~ni"
)
for /f "tokens=1,2 delims==_" %%i in ('set _')do echo %%i:%%j
pause>nul
作者: hackate
时间: 2008-10-3 19:43
@echo off
setlocal enabledelayedexpansion
set "str=2008-08-06"
set str=!str:-=!
set nian=!str:~0,4!年
set yue=!str:~4,2!月
set ri=!str:~-2!日
echo %nian%%yue%%ri%
pause
这个看来不是很好,呵呵,
作者: shqf
时间: 2008-10-4 10:22
由于width、 height可指定显示图片的大小,所以无需小图片,可直接用大图片。本地测试通过。基本符合楼主的要求了。假设相片都在e:\photo目录里,系统格式须是xxxx-xx-xx这样。如不是,可略加修改。
@echo off&setlocal enabledelayedexpansion
set "destfolder=e:\photo"
>show.htm echo ^<table^>
for /f "skip=1 tokens=*" %%i in ('dir /a-d/tw/od "%destfolder%\*.jpg"^|findstr /b "[0-9] ..:"') do (
for /f "tokens=1,3* delims= " %%a in ("%%i") do (
if not "%%a"=="!str!" (
if defined str >>show.htm echo ^</td^>^</tr^>
set str=%%a
>>show.htm echo ^<tr^>^<td^>!str:~5,2!月!str:~-2!日^</td^>^<td^>
)
>>show.htm echo ^<a href="%destfolder%\%%c" target=_blank^>^<img border=0 width=60 height=80 src="%destfolder%\%%c"^>^</a^>
))
>>show.htm echo ^</table^>
echo OK...
pause>nul
[
Last edited by shqf on 2008-10-4 at 15:01 ]
作者: sea1112
时间: 2008-10-5 12:17
我要小图啊,不然菜单打开就要N秒才出来的。可以搞定吗
作者: sea1112
时间: 2008-10-5 12:19
Quote: |
Originally posted by shqf at 2008-10-4 10:22 AM:
由于width、 height可指定显示图片的大小,所以无需小图片,可直接用大图片。本地测试通过。基本符合楼主的要求了。假设相片都在e:\photo目录里,系 ... |
|
不记得给你说声谢谢了。
你做的东西还不错,有一点点要改下的,就是我要日期排列,你做的出来的东西是3月5日下一个就是1月14日,都乱了。搞这个批就一定要小图,我说过我的相片N多,不是小图网页都出不来了。我看了看,发现了个问题,相片是以修改日期排的,所以乱了。有的相片我是最近处理过的,就变成最近的日期排列了。我要求是拍摄日期,可能要用到第三方软件才可以看到吧。CMD看不到的,能搞定吗?
1。我要的是拍摄日期排列
2。我是原相片不小的,一定要做成小图片放到菜单才可以。不然N张相片下载后才可以看到网页,要用多少时间啊,相片又多,可以说是打不开网页了。所以一定要小图片。
[
Last edited by sea1112 on 2008-10-5 at 13:04 ]
作者: Evangel
时间: 2008-10-5 14:25
http://www.smalltool.cn/html/big5_2087.html
图片批量换成小图片,用第三方工具比较好
作者: sea1112
时间: 2008-10-5 20:09
不错,用得上了。问题还有一个就搞定了。就是要的是拍摄日期这个问题了。能搞定就最好了。
作者: shqf
时间: 2008-10-6 21:59
要程序先制作小图片,则需要一个能在命令行下修改图片大小的第三方工具软件,找到这么一种软件,问题就不大了。先手工制作小图片另当别论。
至于照片的拍摄时间包含在相片exif信息中,如未编辑过照片,则就是照片的修改时间。如编辑过了,相片的修改时间不是拍摄时间了。而要读取相片exif 中的信息,批处理本身的命令不行了,也要借助第三方软件。建议看看批处理之家namejm的一个帖子吧,可解决这个问题
http://www.bathome.cn/thread-69-1-1.html
[
Last edited by shqf on 2008-10-6 at 22:11 ]
作者: lotus516
时间: 2008-10-7 13:04
可以解决的,不过你要先发一张照片上来,要打包,附件发,不然我们就得不到数据了!!而且你要保证传上来的照片和其它的EXIT数据一样!!
[
Last edited by lotus516 on 2008-10-7 at 13:06 ]
作者: 748438
时间: 2008-10-7 14:54
photoshop的批处理可以实现你的要求。
打开“文件菜单——自动——WEB照片画廊”