找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 34640|回复: 14

[文本处理] 【已解决】批处理怎样将子文件夹里的图片生成网页链接?

[复制链接]
发表于 2017-2-24 22:49:57 | 显示全部楼层 |阅读模式
新人提问

对存放着一些图片的文件夹使用
  1. DIR *.*  /B >LIST.TXT
复制代码
可以得到内容为
=======================
001.jpg
002.png
003.bmp
004.gif
……
=======================
这样的txt文件

如果我想得到内容为
============================================================
<style type="text/css">
<!--
.style7 {font-size: 50px}
body,td,th {
        color: #FF0000;
}
body {
        background-color: #000000;
}
-->
</style>
<p align="center"><strong>
  <img src="001.jpg" border="0"><BR>001.jpg<BR><BR>
  <img src="002.png" border="0"><BR>002.png<BR><BR>
  <img src="003.bmp" border="0"><BR>003.bmp<BR><BR>
  <img src="004.gif" border="0"><BR>004.gif<BR><BR>
……
</strong></p>
============================================================
(都是一些关于html的文本)的txt文件,也就是希望在生成的txt文件中加入指定的文本
应该是用怎样的代码呢?能否只用一个 .bat 文件搞定呢?

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2017-2-25 10:26:46 | 显示全部楼层
你这个标题应该改为 将子文件夹里的图片生成网页链接
刚注册,好好学。
  1. @echo off
  2. del indexHY图.html>nul 2>nul
  3. cls
  4. echo 正在生成链接
  5. for /f "delims=" %%a in ('dir/b/on/ad') do (
  6.   set /a p=0
  7.   echo  正在生成%%a的图片链接
  8.   echo.
  9.   cd "%%a"
  10.   del *.html>nul 2>nul
  11.   echo ^<center^>^<h1^>%%a^<br^>生成时间 %date% %time%^</h1^>^</center^>>%%a.html
  12.   echo ^<style type="text/css"^>^<!--.style7 {font-size: 50px} body,td,th {color: #FF0000;} body {background-color: #000000;}--^>^</style^>^<p align="center"^>^<strong^>>>%%a.html

  13.   for /f "delims=" %%i in ('dir/b/on/a-d *.jp*g 2^>nul') do echo ^<img src="%%i" border="0"^>^<BR^>%%i^<BR^>^<BR^>>>%%a.html
  14.   echo ^</strong^>^</p^>>>%%a.html
  15.   cd..)
  16.   echo     正在生成总链接 indexHY.html
  17.   echo ^<b^>展示当前第一子文件夹层内的图片-生成时间 %date% %time%^</b^>^<hr^>>index.txt
  18.   for /f "delims=" %%b in ('dir/b/s/on/a-d *.html 2^>nul') do  echo ^<a href="%%~fb" target^=^"^_blank^"^>%%~nb^</a^>^</br^>>>index.txt
  19. ren index.txt indexHY图.html
  20. exit
复制代码
对所有子文件夹里的 jpg jpeg 图片生成链接网页
发表于 2017-2-25 12:53:20 | 显示全部楼层
不知道你哪儿不会了
  1. @echo off
  2. for /f "delims=" %%i in ('more +10 "%~f0"') do (
  3.         if "%%i"=="{#IMG#}" (
  4.                 for /f "delims=" %%j in ('dir /b *.jpg') do (
  5.                         echo;^<img src="%%j" border="0"^>^<BR^>%%j^<BR^>^<BR^>
  6.                 )
  7.         ) else echo;%%i
  8. )
  9. pause & exit /b

  10. <style type="text/css">
  11. <!--
  12. .style7 {font-size: 50px}
  13. body,td,th {
  14.         color: #FF0000;
  15. }
  16. body {
  17.         background-color: #000000;
  18. }
  19. -->
  20. </style>
  21. <p align="center"><strong>
  22. {#IMG#}
  23. ......
  24. </strong></p>
复制代码

评分

参与人数 1技术 +1 收起 理由
beeboo + 1 感谢!太有用!

查看全部评分

 楼主| 发表于 2017-2-25 13:19:51 | 显示全部楼层
回复 3# 回家路上


    感谢大佬细致有效的回复,运行了一次,在弹出的界面的确是我十分需要的代码的样子!
    不过最后应该怎么输出到txt文件?
    或者怎么直接用浏览器运行出现的html代码?
 楼主| 发表于 2017-2-25 13:22:07 | 显示全部楼层
回复 2# hlzj88


感谢您细致耐心的回复,我尝试运行了您提供的代码,的确能够生成一个html文件
问题在于,用txt查看html发现里面没有html的代码,我感到比较困惑
发表于 2017-2-25 13:27:21 | 显示全部楼层
看来是哪儿都不会
  1. (for ...
  2.         if ... (
  3.        
  4.         )
  5. ))>结果.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
beeboo + 1 3( + 2)??

查看全部评分

发表于 2017-2-25 13:33:32 | 显示全部楼层
回复 4# beeboo
  1. start 1.html
复制代码
这样可以用浏览器打开
 楼主| 发表于 2017-2-25 14:08:29 | 显示全部楼层
回复 7# Batcher


    我相信这是一个富有建设性的提议,方才参考了标准教程尝试了许多次,感觉自己是只无头苍蝇了
    希望管理员大人能再指路一把,应该把这段 start 的代码插在 3# 的代码下方何处才能成功呢?
发表于 2017-2-25 16:07:10 | 显示全部楼层
回复 8# beeboo
  1. @echo off
  2. (for /f "delims=" %%i in ('more +11 "%~f0"') do (
  3.         if "%%i"=="{#IMG#}" (
  4.                 for /f "delims=" %%j in ('dir /b *.jpg') do (
  5.                         echo;^<img src="%%j" border="0"^>^<BR^>%%j^<BR^>^<BR^>
  6.                 )
  7.         ) else echo;%%i
  8. ))>1.htm
  9. start 1.htm
  10. goto :eof

  11. <style type="text/css">
  12. <!--
  13. .style7 {font-size: 50px}
  14. body,td,th {
  15.         color: #FF0000;
  16. }
  17. body {
  18.         background-color: #000000;
  19. }
  20. -->
  21. </style>
  22. <p align="center"><strong>
  23. {#IMG#}
  24. ......
  25. </strong></p>
复制代码

评分

参与人数 1技术 +1 收起 理由
beeboo + 1 感谢,步骤出人意料!

查看全部评分

发表于 2017-2-25 16:08:07 | 显示全部楼层
回复 5# beeboo
假设你有很多子文件夹,我这个p是把每个文件夹下的图链接后生成HTML在文件夹里,外面的HTML是链接子文件夹里所有的HTML用的,你点击链接,会新窗口打开图片网页。不必到文件夹里去找html。
我的系统win7,测试成功。
 楼主| 发表于 2017-2-25 16:12:41 | 显示全部楼层
回复 9# Batcher


    太感谢了! 完全没想到是加在中间的! 感谢!
    而且这段代码能节约 阅览很多图片的人 很多的时间,效率提高很多啊

    (ps:如果有后来有类似需要的新人需要这段代码,请把第四行的 *.je*g 改成 *.* .

结贴了
感谢这个论坛
一来就解决了对我来说老大难的问题
 楼主| 发表于 2017-2-25 16:18:27 | 显示全部楼层
回复 10# hlzj88


    p的妙用我已经体会到了一些,我方才按自己的习惯测试了您的这个p,可能是因为与您的习惯不同,导致出现了差错
    当然最主要的原因还是在于我的水平是没入门的菜鸟,看不懂您的代码导致的
    真心希望能赶快提高姿势水平呐
 楼主| 发表于 2017-2-26 19:45:21 | 显示全部楼层
回复 9# Batcher


不好意思 再度打扰
试用此段代码一段时间,方方面面都感到满意
但还是希望改进一点:就是令生成的htm文件的前缀名是当前文件夹的名字(并非当前路径)?
于是生成了 [当前文件夹的名字].htm
发表于 2017-2-26 20:54:18 | 显示全部楼层
回复 13# beeboo
  1. @echo off
  2. for %%i in ("%~dp0.") do (
  3.     set "FolderName=%%~nxi"
  4. )

  5. (for /f "delims=" %%i in ('more +15 "%~f0"') do (
  6.         if "%%i"=="{#IMG#}" (
  7.                 for /f "delims=" %%j in ('dir /b *.jpg') do (
  8.                         echo;^<img src="%%j" border="0"^>^<BR^>%%j^<BR^>^<BR^>
  9.                 )
  10.         ) else echo;%%i
  11. ))>"%FolderName%.htm"
  12. start "" "%FolderName%.htm"
  13. goto :eof

  14. <style type="text/css">
  15. <!--
  16. .style7 {font-size: 50px}
  17. body,td,th {
  18.         color: #FF0000;
  19. }
  20. body {
  21.         background-color: #000000;
  22. }
  23. -->
  24. </style>
  25. <p align="center"><strong>
  26. {#IMG#}
  27. ......
  28. </strong></p>
复制代码

评分

参与人数 1技术 +1 收起 理由
beeboo + 1 太强了!人类文明的制高点! 太好用!阅图 ...

查看全部评分

发表于 2017-2-27 16:08:04 | 显示全部楼层
终于找到了,认真学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 16:46 , Processed in 0.024133 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表