[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理批量将图片路径生成网页格式

本帖最后由 pcl_test 于 2016-10-8 15:42 编辑

俺有2万多张图片吧(就是那种超级的旗袍照那种吧),打算用来生成网页图片相册。网上试过了wordpress模板啥的,也尝试和测试了一上午,最后找到了三种解决方案
VisualLightBox   加  Wondershare Flash Gallery Factory Deluxe  加 按键精灵 加 dreamweaver ,不过那样操作效率实在是低下,所以想到了下面的解决办法。


假如我的目录 结构是 d盘下 有images文件夹下,每个目录下有 A1-A2000吧,那么能否修改一下,让它不必在每个文件夹下右击,而快速的生成呢?
批处理学的二把刀,所以求助下大家了,多谢~~


图片批量生成网页.bat
  1. @echo off
  2. title “图片批量生成网页”安装程序·增强版 & mode con: cols=57 lines=20 & color 0A
  3. echo  ━━━━━━━━━━━━━━━━━━━━━━━━━━
  4. echo      “图片批量生成网页”安装程序·增强版
  5. echo          by 黔南逸士 2008-1-12
  6. echo  ──────────────────────────
  7. echo    本程序可在文件夹右键菜单加入“图片生成网页”选项,
  8. echo  执行该选项可以在该文件夹中生成一个网页,并把该文件夹下
  9. echo  的图片一次性全部插入网页中居中显示。
  10. echo    我喜欢批处理,我的QQ:418751518
  11. echo    欢迎和我交流,大虾小鸟,来者不拒!
  12. echo    我的人文博客http://cqh325.blog.163.com
  13. echo  ━━━━━━━━━━━━━━━━━━━━━━━━━━
  14. echo.
  15. echo    [1].默认安装…………………程序默认设置
  16. echo    [2].向导模式安装…………可以自定义设置
  17. echo    [3].卸载…………………从系统中移除程序
  18. echo.
  19. echo    选择后按回车键执行,不作选择按回车键退出。
  20. echo.
  21. set /p setup=   请选择(1/2/3):
  22. set regpath=HKCR\Folder\shell
  23. if "%setup%"=="3" goto uninstall
  24. if "%setup%"=="2" goto userinstall
  25. if "%setup%"=="1" goto defultinstall
  26. goto :eof
  27. :userinstall
  28. cls
  29. :loop1
  30. set /p pictype=1.定义你想插入网页的图片类型,多种类型的用半角空格分开,输入格式形如*.jpg *.bmp,请输入:
  31. if "%pictype%"=="" echo 没有输入,将按默认类型设置。 & set pictype=*.jpg *.bmp *.gif
  32. if "%pictype:~0,2%" NEQ "*." cls & echo 请输入正确格式,不要忘了输入星号和圆点! & goto loop1
  33. :loop2
  34. set /p right=2.定义你的文件夹的右键菜单文字,请输入:
  35. if "%right%"=="" echo 没有输入,将按默认文字设置。 & set right=图片生成网页
  36. :loop3
  37. set /p open=3.生成网页后是否自动打开(默认打开)?(y/n)
  38. if "%open%"=="" echo 没有选择,将按默认设置。 & set open=y
  39. echo 正在安装,请稍候……
  40. goto install
  41. :defultinstall
  42. set pictype=*.jpg *.gif *.bmp
  43. set webpag=newhtm
  44. set right=图片生成网页
  45. set open=y
  46. :install
  47. ::在windows文件夹下生成pic2htm.bat文件
  48. >%windir%\pic2htm.bat echo @echo off
  49. >>%windir%\pic2htm.bat echo ::获得当前文件夹名称
  50. >>%windir%\pic2htm.bat echo set "foldername=%%cd%%"
  51. >>%windir%\pic2htm.bat echo :loop
  52. >>%windir%\pic2htm.bat echo set "foldername=%%foldername:*\=%%"
  53. >>%windir%\pic2htm.bat echo set "cd_tmp=%%foldername:\=%%"
  54. >>%windir%\pic2htm.bat echo if not "%%cd_tmp%%"=="%%foldername%%" goto loop
  55. >>%windir%\pic2htm.bat echo ::生成网页代码
  56. >>%windir%\pic2htm.bat echo dir %pictype% /b ^>nul 2^>nul ^&^& (
  57. >>%windir%\pic2htm.bat echo echo ^^^<title^^^>%%foldername%%^^^</title^^^> ^>"%%foldername%%.htm"
  58. >>%windir%\pic2htm.bat echo echo ^^^<p align=center^^^>^^^<b^^^>^^^<font color="#0000FF" size="6"^^^>%%foldername%%^^^</font^^^>^^^</b^^^>^^^</p^^^> ^>^>"%%foldername%%.htm"
  59. >>%windir%\pic2htm.bat echo echo ^^^<p align=center^^^> ^>^>"%%foldername%%.htm"
  60. >>%windir%\pic2htm.bat echo for /f "delims=" %%%%i in ('dir %pictype% /b') do echo ^^^<img border="0" src="%%%%i" width=800 ^^^>^^^<br^^^>%%%%i^^^<br^^^>^^^<br^^^> ^>^>"%%foldername%%.htm"
  61. >>%windir%\pic2htm.bat echo echo ^^^</p^^^> ^>^>"%%foldername%%.htm"
  62. if /i "%open:~0,1%" NEQ "n" (echo start "" "%%foldername%%.htm" >>%windir%\pic2htm.bat)
  63. >>%windir%\pic2htm.bat echo goto end )
  64. >>%windir%\pic2htm.bat echo start mshta vbscript:msgbox("该文件夹下没有%pictype%图片,如果你想把其他类型的图片插入网页,请重新用向导模式安装本程序!",16,"操作错误")(window.close)
  65. >>%windir%\pic2htm.bat echo :end
  66. >>%windir%\pic2htm.bat echo exit
  67. ::修改注册表实现右键功能
  68. reg add "%regpath%\pic2htm" /ve /d %right%^(^&P^) /f >nul
  69. reg add "%regpath%\pic2htm\command" /ve /d "cmd.exe /K CD %%1 & pic2htm.bat" /f >nul
  70. mshta vbscript:msgbox("安装成功!你可以右键单击文件夹图标看到菜单了。",64,"操作提示")(window.close)
  71. goto end
  72. :uninstall
  73. if exist %windir%\pic2htm.bat del /q %windir%\pic2htm.bat
  74. reg delete "%regpath%\pic2htm" /f >nul 2>nul
  75. mshta vbscript:msgbox("“图片批量生成网页”已经卸载成功!。",64,"操作提示")(window.close)
  76. :end
复制代码

要是现在解决不了,就用个省脑的办法,直接用按键精灵录制个脚本就行了,但还是可望知道答案。

TOP

本帖最后由 pcl_test 于 2015-3-31 23:19 编辑

回复 2# 我来了
放在D:\images里运行
  1. @echo off
  2. for /f "delims=" %%a in ('dir /ad /s /b') do (
  3. set "fpath=%%a"
  4. set "fname=%%~na"
  5. setlocal enabledelayedexpansion
  6. cd /d "!fpath!"
  7. call :loop !fname!
  8. )
  9. pause
  10. :loop
  11. set "pictype=*.jpg *.gif *.bmp *.png"
  12. dir /b !pictype! >nul 2>nul ||goto :eof
  13. (echo ^<title^>%1^</title^>
  14. echo ^<p align=center^>^<b^>^<font color="#0000FF" size="6"^>%1^</font^>^</b^>^</p^>
  15. echo ^<p align=center^>
  16. for /f "delims=" %%i in ('dir /b !pictype!') do echo ^<img border="0" src="%%i" width=800 ^>^<br^>%%i^<br^>^<br^>
  17. echo ^</p^>)>"%1.htm"
  18. goto :eof
复制代码
1

评分人数

    • 我来了: 谢谢及时雨宋公明哥哥的热心帮助技术 + 1

TOP

本帖最后由 我来了 于 2015-4-1 00:21 编辑

谢谢及时雨宋公明哥哥的热心帮助
只是有一点点小瑕疵:
那个叫 a2 目录里有个叫 .htm的文件 ,没有被清干净,其他一切都很完美~~~
再次感谢下


我懂了,也就是说最后的那个文件夹下,总是会有一个的,只要手动干掉世界就美好了。
真的太给力了,让我解决了大问题~~~ 大好人一个,出门拾到大钱包,娶到个漂亮的MM~~

TOP

回复 4# 我来了


    楼主怎么 0 点之后才夸人...好尴尬的时间点

TOP

回复  我来了


    楼主怎么 0 点之后才夸人...好尴尬的时间点
CrLf 发表于 2015-4-1 00:59



这个也分几点么? 楼主半夜搞科研是夜鹰型的,哈哈~~

TOP

回复 6# 我来了


    0 点没关系,关键是几月几号

TOP

回复 7# CrLf

下次算好日子来,情人节那天来,就能把楼上也娶回家了~~

TOP

回复 8# 我来了


    咱可以在周天 @ 一下 Batcher

TOP

返回列表