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

[文本处理] [已解决]BAT脚本如何将子文件夹中图片批量生成html超链接网页?

我有一些图片想要每张图片都转换成html超链接形式的网页,当这些图片位于当前文件夹下时,我使用以下批处理脚本可以生成同名单独的网页:

  1. @echo off
  2. setlocal enableDelayedExpansion
  3. set "file_start=<HTML><HEAD></HEAD><BODY>
  4. set "image_start=<P align=center><IMG SRC=""
  5. set ^"image_end=" class="image"/></P>"
  6. set "file_end=</BODY></HTML>"
  7.   setlocal disableDelayedExpansion
  8.   for %%I in (*.jpg *.bmp *.gif *.png) do (
  9.     set "image=%%~fI"
  10.     setlocal enableDelayedExpansion
  11.     echo !file_start! >>%%~nI.html
  12.     echo !image_start!!image!!image_end! >>%%~nI.html
  13.     echo !file_end! >>%%~nI.html
  14.     endlocal
  15.   )
  16.   endlocal
复制代码


由于图片和html文件都在一个目录中太乱,我就把图片都移至一个“images”的子文件夹中,想要生成路径为 src="images/xxxxx.jpg" 的网页,应该怎么修改?

本帖最后由 newswan 于 2021-4-30 21:42 编辑

添一句,改一句
  1.     move %%i images\
  2.     set image=src="images\%%~nxi"
复制代码

TOP

回复 2# newswan

我是已经把图片都手动移到images文件夹中了,您是说还要再执行一次 move %%i images\  ?

    没弄成功,本人太菜了 没弄明白,不知道怎么改,麻烦您把完整代码贴一下  ?

TOP

假设图片已放入images目录中
  1. @echo off
  2. setlocal enableDelayedExpansion
  3. set "file_start=<HTML><HEAD></HEAD><BODY>"
  4. set "image_start=<P align=center><IMG SRC="
  5. set "image_end= class="image"/></P>"
  6. set "file_end=</BODY></HTML>"
  7. for /r images %%i in (*.jpg *.bmp *.gif *.png)do (
  8. (
  9. echo !file_start!
  10. echo !image_start!"images/%%~nxi"!image_end!
  11. echo !file_end!
  12. )>"%%~ni.html"
  13. )
复制代码
如无特别说明,代码测试环境均为 XP SP3

TOP

回复 4# cutebe


    谢谢cutebe!问题解决。我就没想起来要变通一下
echo !image_start!"images/%%~nxi"!image_end!

TOP

返回列表