если
в папке wallpepers jpeg файлы с разным разрешениями, нужно удалить все файлы у которых разрешение ниже 1680 x 1050
то используем скрипт:
Код:
' для явного объявления переменных (?)
Option Explicit
' задаем переменные
Dim strPath2Wallpapers
Dim lngHRes
Dim lngVRes
Dim objFile
Dim objImageFile
'значение переменных
strPath2Wallpapers = "C:\Wallpapers"
lngHRes = 1680
lngVRes = 1050
'Создаем объект FileSystemObject
With WScript.CreateObject("Scripting.FileSystemObject")
' Если папка есть, то получаем доступ к библиотеки wia для файлов изображений и вводим в переменную
If .FolderExists(strPath2Wallpapers) Then
Set objImageFile = WScript.CreateObject("WIA.ImageFile")
' для каждого файла в нужном каталоге (и свойств файла)
For Each objFile In .GetFolder(strPath2Wallpapers).Files
' выбирает все файлы, преобразует их имена без верхнего регистра, смотрит их расширения
Select Case LCase(.GetExtensionName(objFile.Name))
' выбирает jpeg файлы
Case "jpeg", "jpg", "jpe"
With objImageFile
On Error Resume Next
.LoadFile objFile.Path
'хз
If Err.Number = 0 Then
On Error Goto 0
'если разрешение меньше чем нужно, то вывести имя файла на экран и удалить его
If .Width < lngHRes Or .Height < lngVRes Then
WScript.Echo CStr(.Width) & "x" & CStr(.Height), vbTab, objFile.Name
objFile.Delete True
End If
Else
Err.Clear
On Error Goto 0
' если с файлом чтото вывести сообщение об ошибки
WScript.Echo "Can't load file [" & objFile.Name & "]"
End If
End With
' в противном случае ничего с файлом не делать
Case Else
' Nothing to do
End Select
Next
Set objImageFile = Nothing
Else
WScript.Echo "Folder [" & strPath2Wallpapers & "] not found"
End If
End With
WScript.Quit 0