bat 批处理 制作网页 本地目录中图片预览

该博客介绍如何使用批处理脚本在本地生成网页,以预览目录中的图片。内容包括直接展示的代码,如何为每个子目录生成图片浏览网页,批量删除操作,以及针对不同情况的图片网页生成方法。同时,博主提醒注意批处理脚本在处理特殊字符时可能存在的问题。
摘要由CSDN通过智能技术生成

成品效果

浏览器打开的网页
浏览器打开时的效果

直接上代码


@echo off
color 2
REM 声明采用UTF-8编码
chcp 65001
CLS
title 制作网页 每个子目录一张图片

set "cdTemp=%~dp0"
set "cdTemp=%cdTemp:!=%"
set "cdTemp=%cdTemp:&=%"
if /i not "%~dp0"=="%cdTemp%" (
    echo 当前目录中有含有 "!" "&" 等字符:"%~dp0"
    echo.&echo 请先修改......退出.&pause>nul
    exit
)

cd /d %~dp0
echo --------------------------------------------------------------------------
echo 当前目录: %~dp0 的子目录预览 每个图片指向子目录中的 [Key]Photo.html
echo --------------------------------------------------------------------------
echo ^<!DOCTYPE html^>^<html^>^<head^>^<meta charset^='text/html; charset=UTF-8'^>^<title^>##[All].html^</title^>^</head^>  >"[All]1x1_Url.html"
echo ^<style type^='text/css'^> >>"[All]1x1_Url.html"
echo body{
   background-color:#111;padding:0;margin:0;} >>"[All]1x1_Url.html"
echo #main{position:relative;left:0;top:0;display:block;margin: 0 auto;width: 1280px;} >>"[All]1x1_Url.html"
echo .xdiv{
   display:block;float:left;text-align:centre;width:320px;height:300px;} >>"[All]1x1_Url.html"
echo .ximg{
   display:block;width:320px;height:300px;object-fit:contain;} >>"[All]1x1_Url.html"
echo ^</style^> >>"[All]1x1_Url.html"
echo ^<body^> >>"[All]1x1_Url.html"
echo ^<div id='main'^> >>"[All]1x1_Url.html"

for /r /d %%i in (*) do (
    set "cdpub=%%i"
    setlocal enabledelayedexpansion    
    echo 目录:  !cd!\!cdpub!
    cd /d "!cdpub!"   
    call :getPhoto
    endlocal
)

echo ^</div^>^</body^>^</html^> >>%~dp0\"[All]1x1_Url.html"
echo.&echo 制作 [All]1x1_Url.html 完成, 并未制作子目录中的 [Key]Photo.html !!&pause>nul
exit

:getPhoto
set n=0
for %%m in (*.jpg, *.png, *.gif, *.bmp) do (
    set /a n+=1
    if /i !n! equ 1 (
        set "url=!cd:\=/!"
        echo ^<a class^='xdiv' target^='_blank' href^='!url!/[Key]Photo.html'^> >>%~dp0\"[All]1x1_Url.html"
        echo ^<img class^='ximg' src^='!url!/%%m' /^>  >>%~dp0\"[All]1x1_Url.html"
        echo ^</a^> >>%~dp0\"[All]1x1_Url.html"
    )
)
goto :eof


在当前目录下生成 [All]1x1_Url.html 网页文件。每个图片Url指向图片所在目录里面生成的 [Key]Photo.html

为每个子目录生成图片浏览网页


@echo off
color 2
REM 声明采用UTF-8编码
chcp 65001
CLS
title 制作网页
set "cdTemp=%~dp0"
set "cdTemp=%cdTemp:&=%"
set "cdTemp=%cdTemp:#=%"
setlocal enabledelayedexpansion
if /i not "%~dp0"=="!cdTemp!" (
    echo 当前目录中有含有 "!" "&" "#""%~dp0"
    echo.&echo 请先修改......退出.&pause>nul
    exit
)
endlocal

cd /d %~dp0
echo ---------------------------------------------------
echo 当前目录: %~dp0  修改目录下子目录名 替换 ^& # 为 -
echo ---------------------------------------------------
for /r /d %%i in (*) do (
    set "cdOld=%%~nxi"
    set "cdTemp=%%~nxi"
    setlocal EnableDelayedExpansion
    set "cdTemp=!cdTemp:&=-!"
    set "cdTemp=!cdTemp:#=-!"
    if /i not "!cdOld!"=="!cdTemp!" (
        echo 路径: "%%~dpi"
        echo 原名: "!cdOld!"
        echo 新名: "!cdTemp!"
        pushd "%%~dpi"
        ren  "!cdOld!" "!cdTemp!"
        popd
        echo.
        
    )
    endlocal
)

echo ---------------------------------------------------
echo 当前目录: %~dp0  删除文件名中的 ^! 替换 ^& # 为 -
echo ---------------------------------------------------
for /r %%i in (*.jpg, *.png, *.gif, *.bmp) do (
    set "temp=%%~nxi"
    set "cdDir=%%~dpi"
    setlocal EnableDelayedExpansion
    set "new=%%~nxi"
    set "new=!new:#=-!"
    set "new=!new:&=-!"
    if /i not "!new!"=="!temp!" (
        echo 路径: "!cdDir!"
        echo 原名: "!temp!"
        echo 新名: "!new!"
        pushd "!cdDir!"
        ren  "!temp!" "!new!"
        popd
        echo -
        
    )
    endlocal
)

echo ---------------------------------------------------
echo 当前目录: %~dp0  为每个子目录建立 [Key]Photo.html
echo ---------------------------------------------------
for /r /d %%i in (*) do (
    set "cdpub=%%i"
    setlocal enabledelayedexpansion    
    echo -
    echo 目录: "!cdpub!"
    cd /d "!cdpub!"
    call :dirAllPhoto
    endlocal
)
echo.&pause
exit


:dirAllPhoto
echo ^<^^!DOCTYPE html^>^<html^>^<head^>^<meta charset^='text/html; charset=UTF-8'^>^<title^>当前目录图片不含子目录^</title^>^</head^> >"[Key]Photo.html"
echo ^<style type^='text/css'^>body{
   background-color:#111;padding:0;margin:0} >>"[Key]Photo.html"
echo #xImg{clear:both;display:block;top:0;margin:auto;object-fit:contain;}^</style^> >>"[Key]Photo.html"
echo ^<body^>^<img id^='xImg' src /^> >>"[Key]Photo.html"
echo ^<script type^='text/javascript'^>var a1^=[ >>"[Key]Photo.html"
set n=0
for %%i in (*.jpg, *.png, *.gif, *.bmp) do (
    set "old=!cd!/%%i"
    set "old=!old:\=/!"
    echo "!old!",  >>"[Key]Photo.html"
    set /a n+=1
    set /p a=<nul
)
echo  [!n!]
echo ]; >>"[Key]Photo.html"
echo if(JSON.stringify(a1) ^^!^=^= '[]'){
   >>"[Key]Photo.html"
echo function alphanumCase(a, b) {
   >>"[Key]Photo.html"
echo     function chunkify(t) {
   >>"[Key]Photo.html"
echo         var tz ^= new Array();>>"[Key]Photo.html"
echo         var x ^= 0, y ^= -1, n ^= 0, i, j;>>"[Key]Photo.html"
echo         while (i ^= (j ^= t.charAt(x++)).charCodeAt(0)) {
   >>"[Key]Photo.html"
echo             var m ^= (i ^=^= 46 ^|^| (i ^>^=48 ^&^& i ^<^= 57));>>"[Key]Photo.html"
echo             if (m ^^!^=^= n) {
   >>"[Key]Photo.html"
echo                 tz[++y] ^= "";>>"[Key]Photo.html"
echo                 n ^= m;>>"[Key]Photo.html"
echo             }>>"[Key]Photo.html"
echo             tz[y
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值