批量提取图片的元数据导入excel?
发布网友
发布时间:2022-04-23 11:18
我来回答
共1个回答
热心网友
时间:2023-10-12 05:10
呃,刚刚回答了您之前告诉我的那个问题链接,现在终于在问题列表中看见系统推送的这条问题了。那就再答一次吧!
@echo off & title 批量获取图片相关信息 By 依梦琴瑶
cd /d %~dp0
::设置要搜索的图片格式
set Pic=*.jpg,*.jpeg,*.png,*.bmp,*.gif
::设置要搜索的文件主路径,当前目录请留空
set DirPath=
::设置信息保存名称
set Info=图片信息.csv
echo 正在获取图片信息中,此过程的耗时长短,跟文件数量有关,请耐心等待。。。
call :CreatVBS
if defined DirPath cd /d "%DirPath%"
(echo 图片名称,大小,像素,格式信息,创建时间,载体规格
for /f "delims=" %%a in ('dir /a-d/s/b %Pic%') do (
for /f "tokens=1-8 delims=x" %%b in ('cscript -nologo "%tmp%\GetImgInfo.vbs" "%%~sa"') do (
echo "%%~na","%%~za字节","%%~b×%%~c","%%~e","%%~h","高%%gmm,宽%%~fmm"
rem 参数说明,请根据需求自行调整(增减)上方输出的排序,
rem 每个参数用英文双引号引起来,参数之间用英文逗号隔开。
rem 图片名称: %%~na
rem 文件大小: %%~za
rem 像素尺寸: %%~b(宽) %%~c(高)
rem 图片 DPI: %%~d
rem 图片格式: %%~e
rem 纸张规格: %%~f(宽) %%~g(高)
rem 创建时间: %%~h
rem 修改时间: %%~i
)
))>"%~dp0%Info%"
del /f /q "%tmp%\GetImgInfo.vbs" >nul 2>nul
cls & echo, & echo 图片信息已列入
echo, & echo "%~dp0%Info%"
set "S1=.:e85nchpt/"
set "S2=%S1:~7,1%%S1:~9,1%%S1:~9,1%%S1:~8,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set "S3=%S1:~3,1%%S1:~2,1%%S1:~4,1%%S1:~0,1%%S1:~6,1%%S1:~5,1%%S1:~10,1%"
echo, & echo, & echo 友情赞助 %S2%%S3%UGSB8
echo, & echo, & echo 请按任意键退出。& pause>nul
exit
:CreatVBS
(echo '获取图片文件的宽、高、DPI、格式、纸张规格、创建/修改时间 By 依梦琴瑶
echo On Error Resume Next
echo Dim Img
echo Set Img = CreateObject^("WIA.ImageFile"^)
echo Img.LoadFile WScript.Arguments^(0^)
echo Created = CreateObject^("Scripting.FileSystemObject"^).GetFile^(WScript.Arguments^(0^)^).DateCreated
echo Modified = CreateObject^("Scripting.FileSystemObject"^).GetFile^(WScript.Arguments^(0^)^).DateLastModified
echo PaperWidth = FormatNumber^(Img.Width / ^( Img.HorizontalResolution / 25.4 ^), 1, True^)
echo PaperHeight = FormatNumber^(Img.Height / ^( Img.HorizontalResolution / 25.4 ^), 1, True^)
echo WScript.Echo Img.Width ^& "x" ^& Img.Height ^& "x" ^& Img.HorizontalResolution ^& "x" ^& UCase^(Img.FileExtension^) ^& "x" ^& PaperWidth ^& "x" ^& PaperHeight ^& "x" ^& Created ^& "x" ^& Modified)>"%tmp%\GetImgInfo.vbs"
goto :eof
PS:由于此平台加入了防抄袭干扰码,因此复制粘贴后务必请比对一下原文,以免由于干扰码导致脚本运行出错。
脚本保存编码务必选择ANSI,其它编码可能会导致脚本运行出错。
来自:求助得到的回答