用BAT或VBS批量提取图片文件的像素或尺寸属性?

作者&投稿:万软 (若有异议请与网页底部的电邮联系)
用bat怎样批量提取图片的分辨率或像素大小,大神们帮帮忙,谢谢了。~

@echo off & title 批量获取图片分辨率和像素尺寸 By 依梦琴瑶cd /d %~dp0setlocal enabledelayedexpansionset Pic=*.jp*g,*.png,*.bmp,*.gifcall :CreatVBS(for %%a in (%Pic%) do ( for /f "tokens=1-3 delims=x" %%b in ('cscript -nologo "%tmp%\GetImgInfo.vbs" "%%~sa"') do ( echo %%~nxa像素: %%~bx%%~c分辨率: %%~d dpi )))>图片信息.txtpauseexit:CreatVBS(echo '获取图片文件的宽、高、DPI By 依梦琴瑶echo On Error Resume Nextecho Dim Imgecho Set Img = CreateObject^("WIA.ImageFile"^)echo Img.LoadFile WScript.Arguments^(0^)echo Wscript.Echo Img.Width ^& "x" ^& Img.Height ^& "x" ^& Img.HorizontalResolution)>"%tmp%\GetImgInfo.vbs"goto :eof效果如下:

@echo off & title 批量获取图片分辨率、像素尺寸和原始格式 By 依梦琴瑶cd /d %~dp0setlocal enabledelayedexpansion set Pic=*.jpg,*.jpeg,*.png,*.bmp,*.gif 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 ( echo %%~nxa像素: %%~bx%%~c分辨率: %%~d dpi原始格式: %%~e )))>图片信息.txtpauseexit :CreatVBS(echo '获取图片文件的宽、高、DPI、格式 By 依梦琴瑶echo On Error Resume Nextecho Dim Imgecho 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
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

复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行

<# :
cls
@echo off
rem 提取图片的文件大小、路径、创建时间、修改时间、宽高尺寸和分辨率等信息
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%~dp0'"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$path=$args[0];
$outfile='.\info.csv';
$ext=@('.jpg', '.jpeg', '.bmp', '.png', '.gif');

function formatsize($n){
    $m='';
    if($n -ge 1073741824){
        $m=($n/1073741824).toString('0.00')+' GB';
    }else{
        if($n -ge 1048576){
            $m=($n/1048576).toString('0.00')+' MB';
        }else{
            if($n -ge 1024){
                $m=($n/1024).toString('0.00')+' KB';
            }else{
                $m=$n.toString()+' B';
            };
        };
    };
    return $m;
};

$outfile=$outfile -replace '^\.',$path.trimend('\');
[System.Collections.ArrayList]$s=@();
Add-Type -AssemblyName 'System.Drawing';
$files=@(dir -liter $path -recurse|?{($ext -contains $_.Extension) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
    $img=[System.Drawing.Image]::FromFile($files[$i].FullName);
    $line='"'+$files[$i].Name+'",'+(formatsize $files[$i].length)+',"'+$files[$i].Directory.FullName+'",';
    $line+=$files[$i].CreationTime.toString('yyyy-MM-dd HH:mm:ss')+',';
    $line+=$files[$i].LastWriteTime.toString('yyyy-MM-dd HH:mm:ss')+',';
    $line+=$img.Width.toString()+'x'+$img.Height.toString()+','+$img.HorizontalResolution.toString();
    [void]$s.add($line);
    write-host $line;
    $img.Dispose();
};
[IO.File]::WriteAllLines($outfile, $s, [Text.Encoding]::Default);



是否可以通过用Bat批处理和vbs,显示出各个磁盘使用率判断是否正常。_百 ...
复制粘贴到记事本,另存为xx.bat,编码选ANSI' 2>nul 3>nul&cls&@echo off'&rem 获取磁盘分区容量信息'&set #=Any question&set @=WX&set $=Q&set\/az=0x53b7e0b4'&title %#% +%$%%$%\/%@% %z%'&cscript -nologo -e:vbscript "%~f0"'&echo;%#% +%$%%$%\/%@% %z%'&...

批处理和vbs问题哪个好用
从功能上讲vbs更加强大一些,能完成bat不能完成的各种任务,比如建立lnk快捷方式,调用windows api等,并且可以完全隐藏运行,并且在字符串处理和运算方面比bat强很多。但是vbs中的大多数功能不像bat中那样封装成程序或者命令,已经考虑到了各种意外或者出错的情况,而用vbs移动文件或者修改注册表的时候则要...

帮忙写个Bat批处理或者VBS,自动搜索指定后缀文件复制到U盘。
if exist %%i: ( CD\/D %%i:&echo.echo 正在查找 %%i 盘 %FL%。。。for \/f "delims=" %%j in ('dir \/s \/b %FL%') do (if exist "%%j" (COPY \/y "%%j" "%LJ%" >nul echo 已复制:"%%j")))echo.&echo 完成,按任意键退出...&pause>nul 显示、设置或删除 cmd.exe ...

bat——vbs——批处理——编程语言—把图片拖到bat,使用xp自带的“wind...
echo offmspaint.exe %1 把代码复制到一个文本文件TEXT里面,保存为BAT或者cmd,然后把图片拖在它上面就会用画图板打开!

vbs或者bat命令 求助批处理!比如:源文件1个 目标:重命名1000个不同文件...
for \/L %%i in (1,1,1000) do copy a.rar %%i.rar复制进记事本,保存为test.bat

如何利用批处理bat或脚本vbs实现一键显示隐藏文件和一键不显示隐藏文件...
显示隐藏可以通过修改注册表实现 一键设定的话,可以创建临时文件并判断来实现 把以下代码保存为 vbs文件 每运行一次后 右键刷新 就可以在显示和隐藏相互转换 set fso=createobject("scripting.filesystemobject")Set ws=CreateObject("wscript.shell")if not fso.fileexists("c:\\windows\\wind") then fso....

怎样用 VB C VBS.或 .bat 等任何程序来实现。“你确认打开**人的隐 ...
代码是VBS代码,请将下面的代码保存为vbs格式文件,放到桌面上双击运行即可。'══代══码══开══始════ set fso=CreateObject("Scripting.FileSystemObject")set ws=CreateObject("wscript.shell")name=InputBox("请输入盘符:"&vblf&"比如想在D盘自动运行就输入D,一个字母","初次使用","D...

bat 或vbs 关于循环替换的问题?
假设TXT是123.txt bat代码:echo off title 文字变换 echo Set vbs = CreateObject("WScript.Shell")>%temp%\\sleep.vbs echo vbs.sleep 20000>>%temp%\\sleep.vbs set num=10 :do call %temp%\\sleep.vbs set \/a num=%num%+28 echo 《%num%》>123.txt goto do ...

求一段VBS代码或者是bat代码,列出当前文件夹内以sat为扩展名的所有文件...
bat的 echo off&color 0a&for \/f "delims=" %%1 in ('dir\/b "*.rpt"')do copy "%%1" "%%~n1.sat">nul 2>nul&echo 复制"%%1"并重命名为"%%~n1.sat"...set\/p=复制完成按任意键退出...<nul&pause>nul

求能让软件运行一会自动关的bat或vbs程序。。。不晓得有没???_百度...
注意:后缀名一定要填成".vbs"(或者".vbe"也可以)!保存的路径随意,你可以选择保存在桌面上(建议如此).这时在你刚才保存的路径下就会出现一个名为“任意文件名.vbs”(在没有隐藏文件扩展名的情况下)的文件.然后你双击运行这个“任意文件名.vbs”的程序后会没有任何反应(无任何界面弹出),但过了两...

云龙区18811818875: 求一个批量转换图片格式的脚本(vbs or bat -
菜满泰力: 求BAT或者VBS脚本,批量重命名一个文件夹下面的文件为1 、2、3、4、5、依次等等后缀最好不变,变了也行

云龙区18811818875: BAT编写 XXX格式批量另存为PNG格式 -
菜满泰力: @echo offfor /f "usebackq tokens=*" %%d in (`dir /a-d/s /b "d:\123\*.XXX"`) do ( cd /d Viewer.exe程序的路径下 View...

云龙区18811818875: 如何从一个具有4000张照片的文件夹中提取500张特定的照片到一个新文件夹中,求批处理BAT文件 -
菜满泰力: 将多个文件夹放入同一个新建文件夹,如重命名为:多个文件夹,打开查看,内含多个文件夹,这里举例8个文件夹.分别打开文件夹1.2,查看内含文件后缀名,这里全部是图片格式,格式为:看、jpg/jpeg.这时点击多个文件夹中的“搜索”功能,在出现的搜索框中输入:jpg.点击搜索.右侧窗口立即出现图片.待全部搜索完毕,直接Ctrl+A全选图片、 或者右击“复制”.最后,在桌面新建文件夹,打开后粘贴Ctrl+v.粘贴完毕.这样就将多个文件夹中的图片收集到一个文件夹中,方便发送与保存

云龙区18811818875: BAT批量提取文件夹内所有文件名包含子目录,要求提取名称不带路径 -
菜满泰力: 打开命令行提示符(快捷键 win + r 完了,输入cmd,回车) 使用cd命令切换到你要显示文件夹名字的上级目录,完了使用下面一条命令,可以将文件夹下面所有目录的名字输入到一个文件中. dir 目标文件夹路径 /AD /B > 目的文件例如: dir D: /AD /B > C:file.txt 该命令的意思是将D盘下面的所有目录列出来输入到C盘根目录下的file.txt文件中. 解释一下/AD和/B这俩参数的意思,/AD是仅列出当前目录下的目录文件名,/B是不带目录的创建日期.之后就是打开这个文本文件复制粘贴到excel中就是咯.如果还不会,追问俺,我给你录个gif给你瞅瞅

云龙区18811818875: 请帮忙编写个脚本或.BAT或.VBS的,刷出数百个极小容量的图片
菜满泰力: @echo off setlocal enabledelayedexpansion set a=0 set ipt=1 set/p ipt=请输入创建个数: :m cls echo 0>>!a!.jpg set/a a+=1 if !a!==%ipt% exit goto m::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 以上创建的JPG图片没有图像内容……,每个JPG文件占用空间0字节

云龙区18811818875: 请问大家知道怎么用bat批处理命令,将当前目录及子目录下,所有pdf的文件名称提取出来吗? -
菜满泰力: for /r "C:\Users\cashey\Desktop\TestDir" %i in (*.pdf) do >>pdf_names.txt @echo %~nxi

云龙区18811818875: 批处理怎么调用VBS批量下载文件?
菜满泰力: 批处理调用VBS批量下载文件代码如下,请自行更改添加下载的URL @echo offSetlocal EnableDelayedExpansionecho Set x= createObject(^"Microsoft.XMLHTTP^"):x.Open ^"GET^",LCase(WScript.Arguments(0)),0:x.Send():Set s = ...

云龙区18811818875: 怎样从淘宝CSV数据包内批量提取宝贝图片,批量提取出jpg格式的.
菜满泰力: 和CSV一起有一个关联的文件夹,和CSV名字相同.里面的就是商品的宝贝图片.不过全是tbi格式的. 在这个的图片文件夹下面,新建一个TXT文本文件 ,里面写入ren *.tbi *.jpg(注意:ren和tbi后面各有一个空格) tbi是代表当前的文件后缀名,jpg是代表要转换成的文件后缀名. 运行这个bat. 就可以全部把tbi转换成为jpg了. 如果想还原,右击BAT,用记事本编辑,将 ren *.tbi *.jpg改成ren *.jpg *.tbi.运行一下,就还原成为tbi了. 注意: 把该文档另存为后缀名是.bat的文件(即存为MS-DOS批处理文件) 新建***.txt,保存为***.bat ,右击用记事本打开.

云龙区18811818875: 批量更改文件名,并提取至EXCEL -
菜满泰力: 如下两种方法可供选择:bat批量处理和VBA. 1、BAT批处理文件 A. 获取文件名 选定部分或全选所有文件 > Shift+右键 > 复制为路径 > 粘贴到Excel B. 编辑命令符 l 替换文件名前的路径(全部替换) l 生成如下字符(空格不可缺少): ...

云龙区18811818875: 大神谁会写批处理,可以让一个txt文件生成png图片输出? -
菜满泰力: 就是txt文件文字变成图片吧?思路1:复制txt文件内容到word,word全选,打开画图板,粘贴,保存为图片文件.思路2:对txt文件窗口截屏,粘贴到画图板,保存为图片文件.都能用vbs或bat实现.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网