Интернет-конференция

Интернет-конференция (http://dnstechno.ru/index.php)
-   Руководства по microsoft windows (http://dnstechno.ru/forumdisplay.php?f=69)
-   -   Скрипт: Удаление jpeg файлов по разрешению (http://dnstechno.ru/showthread.php?t=902)

Eternity 29.03.2015 22:22

Скрипт: Удаление jpeg файлов по разрешению
 
если
в папке 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


men 03.04.2015 15:49

Re: Скрипт: Удаление jpeg файлов по разрешению
 
Удобно и нет проблем с заморочкой, всё легко


Текущее время: 23:35. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9 Beta 1
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot