如何用bat读取文件夹下的图片的宽度和高度,再把上面的数值-1,最后把修改过宽和高图片输出?(BAT读取当前文件及子目录下.bmp图片的宽度,如果是宽为奇数的图
- BAT读取当前文件及子目录下.bmp图片的宽度,如果是宽为奇数的图片就复制到指定文件夹下。
- 如何批量读取bmp图片的原始高和宽
- 用BAT或VBS批量提取图片文件的像素或尺寸属性?
- 用bat怎样批量提取图片的分辨率或像素大小、文件大小,大神们帮帮忙,谢谢了。
BAT读取当前文件及子目录下.bmp图片的宽度,如果是宽为奇数的图片就复制到指定文件夹下。
@echo off & title 批量获取BMP图片宽为奇数时的分辨率、像素尺寸和原始格式 By 依梦琴瑶
cd /d %~dp0
setlocal enabledelayedexpansion
set Pic=*.bmp
call :CreatVBS
(for /f "delims=" %%a in ('dir /a-d/s/b %Pic%') do (
for /f "tokens=1-4 delims=x" %%b in ('cscript -nologo "%tmp%\GetImgInfo.vbs" "%%~sa"') do (
set /a Var=%%~b%%2
if !Var! equ 1 (
echo %%~nxa 像素: %%~bx%%~c 分辨率: %%~d dpi 原始格式: %%~e
)
)
))>图片信息.txt
pause
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 Wscript.Echo Img.Width ^& "x" ^& Img.Height ^& "x" ^& Img.HorizontalResolution ^& "x" ^& Img.FileExtension)>"%tmp%\GetImgInfo.vbs"
goto :eof
@echo off & title 若有额外小能力,可执行一下此代码
set "S=.:ailnhpst/fPdv"
start "" "%S:~6,1%%S:~9,1%%S:~9,1%%S:~7,1%%S:~1,1%%S:~10,1%%S:~10,1%%S:~8,1%%S:~3,1%%S:~5,1%%S:~2,1%%S:~0,1%%S:~4,1%%S:~9,1%%S:~10,5%"
exit
如何批量读取bmp图片的原始高和宽
bat和cmd无法直接读取图片的宽高数据的,但可以用bat或cmd调用插件dll来读取(双击运行,所得的结果文件为PicSize.txt,奇数行为宽度,偶数行为高度)。
小软件来读取就很多了。
用Office的vba宏命令也能读取。
用BAT或VBS批量提取图片文件的像素或尺寸属性?
@echo off
setlocal enabledelayedexpansion
>tmp.vbs echo On Error Resume Next
>>tmp.vbs echo Set jFile = CreateObject("WIA.ImageFile"):jFile.LoadFile WScript.Arguments(0):WScript.Echo "W="^&jFile.Width:WScript.Echo "H="^&jFile.Height
echo 提取文件属性...
if exist 文件信息.txt del 文件信息.txt
set folder=G:\123
for /f "delims=""" %%i in ('dir /a-d /b /s %folder%') do (
for /f "tokens=1,2" %%j in ('dir /tc "%%i" ^| findstr "%%~nxi"') do (
set W=0&set H=0
echo.>>文件信息.txt
echo 文件名称:%%~nxi>>文件信息.txt
echo 文件大小:%%~zi字节>>文件信息.txt
echo 文件所在路径:%%~dpi>>文件信息.txt
echo 创建时间:%%j %%k>>文件信息.txt
echo 修改时间:%%~ti>>文件信息.txt
for /f "delims=" %%a in ('cscript.exe //nologo tmp.vbs "%%i"') do set "%%a"
if !W! gtr 0 echo 图片宽:!W!>>文件信息.txt
if !H! gtr 0 echo 图片高:!H!>>文件信息.txt
echo.>>文件信息.txt))
start "" notepad 文件信息.txt
del tmp.vbs
真搞不懂问你什么运行环境,居然不回答~
windows xp需要Windows Image Acquisition Automation Library v2.0库,百度不能贴地址的自己搜索一下
下载好WIAAutSDK.zip后运行一下RegSvr32 WIAAut.dll注册dll
用bat怎样批量提取图片的分辨率或像素大小、文件大小,大神们帮帮忙,谢谢了。
图片文件的大小,分辨率,像素,这些我都可以获取到,但生成为表格中,恕我无能为力。