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

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

新人提问

对存放着一些图片的文件夹使用
  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 文件搞定呢?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

你这个标题应该改为 将子文件夹里的图片生成网页链接
刚注册,好好学。
  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 图片生成链接网页
目的,学习批处理

TOP

不知道你哪儿不会了
  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

评分人数

    • beeboo: 感谢!太有用!技术 + 1
人生是一部书/只有这一页最温暖/读懂它的时候/我们在远方流泪...

TOP

回复 3# 回家路上


    感谢大佬细致有效的回复,运行了一次,在弹出的界面的确是我十分需要的代码的样子!
    不过最后应该怎么输出到txt文件?
    或者怎么直接用浏览器运行出现的html代码?

TOP

回复 2# hlzj88


感谢您细致耐心的回复,我尝试运行了您提供的代码,的确能够生成一个html文件
问题在于,用txt查看html发现里面没有html的代码,我感到比较困惑

TOP

看来是哪儿都不会
  1. (for ...
  2. if ... (
  3. )
  4. ))>结果.txt
复制代码
1

评分人数

    • beeboo: 3( + 2)??技术 + 1
人生是一部书/只有这一页最温暖/读懂它的时候/我们在远方流泪...

TOP

回复 4# beeboo
  1. start 1.html
复制代码
这样可以用浏览器打开
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 7# Batcher


    我相信这是一个富有建设性的提议,方才参考了标准教程尝试了许多次,感觉自己是只无头苍蝇了
    希望管理员大人能再指路一把,应该把这段 start 的代码插在 3# 的代码下方何处才能成功呢?

TOP

回复 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

评分人数

    • beeboo: 感谢,步骤出人意料!技术 + 1
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# beeboo
假设你有很多子文件夹,我这个p是把每个文件夹下的图链接后生成HTML在文件夹里,外面的HTML是链接子文件夹里所有的HTML用的,你点击链接,会新窗口打开图片网页。不必到文件夹里去找html。
我的系统win7,测试成功。
目的,学习批处理

TOP

回复 9# Batcher


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

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

结贴了
感谢这个论坛
一来就解决了对我来说老大难的问题

TOP

回复 10# hlzj88


    p的妙用我已经体会到了一些,我方才按自己的习惯测试了您的这个p,可能是因为与您的习惯不同,导致出现了差错
    当然最主要的原因还是在于我的水平是没入门的菜鸟,看不懂您的代码导致的
    真心希望能赶快提高姿势水平呐

TOP

回复 9# Batcher


不好意思 再度打扰
试用此段代码一段时间,方方面面都感到满意
但还是希望改进一点:就是令生成的htm文件的前缀名是当前文件夹的名字(并非当前路径)?
于是生成了 [当前文件夹的名字].htm

TOP

回复 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

评分人数

    • beeboo: 太强了!人类文明的制高点! 太好用!阅图 ...技术 + 1
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

终于找到了,认真学习

TOP

返回列表