标题: [文件操作] bat能不能读取某张图片的dpi值? [打印本页]
作者: wh123wh123 时间: 2024-6-2 23:46 标题: bat能不能读取某张图片的dpi值?
本帖最后由 wh123wh123 于 2024-6-2 23:52 编辑
bat能不能读取某张图片的dpi值?如何实现?
作者: Batcher 时间: 2024-6-3 08:59
回复 1# wh123wh123
请选一张图片作为例子上传到网盘,说下你需要获取哪个属性?
作者: newswan 时间: 2024-6-3 09:29
http://www.bathome.net/thread-57423-1-1.html
已有
作者: buyiyang 时间: 2024-6-3 10:01
可以用bat直接读取解析文件头,适用于jpg编码:- @echo off
- setlocal enabledelayedexpansion
- for %%i in (*.jpg) do (
- set "dpi="
- call :getDPI "%%i"
- if defined dpi echo,%%i: !dpi!dpi
- )
- del $temp
- pause&exit
-
- :getDPI
- certutil -encodehex -f %1 $temp >nul
- for /f "tokens=2-5,8-12,15-17" %%a in ($temp) do (
- if /i not "%%a%%b%%c%%d"=="ffd8ffe0" (echo,文件编码不符&goto :eof)
- if /i not "%%e%%f%%g%%h%%i"=="4a46494600" (echo,文件编码不符&goto :eof)
- if %%j equ 0 set /a "dpi=96"
- if %%j equ 1 set /a "dpi=0x%%k%%l"
- if %%j equ 2 set /a "dpi=0x%%k%%l*127/50"
- goto :eof
- )
复制代码
作者: wh123wh123 时间: 2024-6-3 10:05
回复 2# Batcher
作者: wh123wh123 时间: 2024-6-3 10:09
回复 4# buyiyang
只需要读取指定某一张图片的值,也就是指定文件名,不是批量
作者: wh123wh123 时间: 2024-6-3 10:15
回复 4# buyiyang
'/i' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
请按任意键继续. . .
作者: aloha20200628 时间: 2024-6-3 11:46
本帖最后由 aloha20200628 于 2024-6-3 14:23 编辑
回复 1# wh123wh123
以下代码存为test.bat运行,命令行参数指定目标图片文件,如》test.bat "abc.jpg"
屏显输出结果》水平dpi / 垂直dpi
- @set @x=1 //&(if "%~1" neq "" cscript /e:jscript "%~f0" "%~1") &pause&exit/b
- wi = WSH.createobject("wia.imagefile"), v = WSH.arguments;
- wi.loadfile(v(0)), WSH.echo(wi.horizontalresolution+'/'+wi.verticalresolution), WSH.quit();
复制代码
作者: wh123wh123 时间: 2024-6-3 14:02
本帖最后由 wh123wh123 于 2024-6-3 14:03 编辑
回复 wh123wh123
以下代码存为test.bat运行,命令行参数指定目标图片文件,如》test.bat "abc.jpg"
屏 ...
aloha20200628 发表于 2024-6-3 11:46
没看明白怎么使用这段代码,abc.jpg图片路径放到哪?或者怎么调用这段代码进行获得那两个值?
作者: aloha20200628 时间: 2024-6-3 14:22
本帖最后由 aloha20200628 于 2024-6-3 14:28 编辑
回复 9# wh123wh123
直接在cmd窗口命令行执行 test.bat "d:\jpg\abc.jpg" 即可
或直接将所选图片文件拖给 test.bat 亦可
8楼代码已更新,以便结尾可停看输出结果...
作者: Five66 时间: 2024-6-3 16:15
只有一张,右键属性查看不就行了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |