标题: [文件操作] 【已解决】批处理能检测图片dpi? [打印本页]
作者: liaoguinan 时间: 2023-1-28 14:19 标题: 【已解决】批处理能检测图片dpi?
本帖最后由 liaoguinan 于 2023-1-29 11:56 编辑
如何遍历多层目录下的图片看有没有200dpi的jpg图片
该目录下有300dpi和200dpi的图片只显示200dpi图片的路径保存到记事本里
作者: 77七 时间: 2023-1-28 18:10
- @echo off
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /s /a-d *.jp*g *.png') do (
- for /f "tokens=3" %%a in ('nconvert -info "%%~fi" ^| find "Xdpi"') do (
- if "%%a" equ "200" (
- echo %%~fi
- )
- )
- )>>200dpi.txt
- pause
复制代码
试试能行吗?
本站下载第三方命令行工具 nconvert ,和批处理放在一起后执行
作者: Batcher 时间: 2023-1-29 08:29
回复 3# liaoguinan
可以放在这个文件夹下:
C:\Windows\System32\
作者: liaoguinan 时间: 2023-1-29 11:56
回复 4# Batcher
感谢学到了
作者: liaoguinan 时间: 2023-1-29 11:57
回复 2# 77七
感谢,感谢
作者: terse 时间: 2023-1-29 13:06
JS- @if (0) == (0) echo off
- dir /b /a-d *.jpg| cscript -nologo -E:JScript %0
- pause
- exit
- @end
- var img=new ActiveXObject("WIA.ImageFile"),
- fso = new ActiveXObject("Scripting.FileSystemObject");
- while(!WScript.StdIn.AtEndOfStream) {
- var file = WScript.StdIn.ReadLine();
- var f = fso.GetFileName(file);
- try{
- img.LoadFile(file);
- var Xdpi = Math.ceil( img.HorizontalResolution );
- if (Xdpi == 200) WSH.Echo(file);
- } catch(e) {};
- }
复制代码
powershell- <# :
- @echo off
- powershell -noprofile -NoLogo "iex (${%~f0} | out-string)"
- pause
- exit
- #>
- $extlist = @('.png','.jpg')
- Add-Type -Assembly System.Drawing
- foreach ($file in dir -path $pwd.Path|? { $extlist -eq $_.Extension }|?{!$_.PsIsContainer}) {
- try
- {
- $img = [Drawing.Image]::FromFile( $file.fullname)
- $dpiX = $img.HorizontalResolution
- if ($dpiX -eq 200 ) {" $file.fullname $dpiX"}
- $img.Dispose()
- } catch{}
- }
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |