Любой язык - [решено] как можно организовать скрытый поиск фото по модели камеры?

Ответить
Аватара пользователя
UmbrellaMegaHack

Любой язык - [решено] как можно организовать скрытый поиск фото по модели камеры?

Сообщение UmbrellaMegaHack »

как можно организовать скрытый поиск фото по модели камеры?
Аватара пользователя
Iska

Re: Любой язык - [решено] как можно организовать скрытый поиск фото по модели камеры?

Сообщение Iska »

Например, так:
читать дальше »


(для одной папки!, без вложенных)

Код:

Код: Выделить всё

Option Explicit
Const ForWriting = 2
Dim objShell
Dim objFolder
Dim objFolderItem
Dim objFSO
Dim objTS
Set objShell = WScript.CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace("C:\My Pictures")
If Not objFolder Is Nothing Then
    Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
    Set objTS = objFSO.OpenTextFile("c:\ListOfFiles.txt", ForWriting, True)
    For Each objFolderItem In objFolder.Items
        If objFolder.GetDetailsOf(objFolderItem, 24) = "Canon PowerShot S2 IS" Then
            objTS.WriteLine objFolderItem.Path
        End If
    Next
    objTS.Close
    Set objTS         = Nothing
    Set objFSO        = Nothing
    Set objFolderItem = Nothing
    Set objFolder     = Nothing
End If
Set objShell = Nothing
WScript.Quit 0
Аватара пользователя
NiOl

Re: Любой язык - [решено] как можно организовать скрытый поиск фото по модели камеры?

Сообщение NiOl »

Iska, начинаю потихоньку уважать vbs, (хотя все равно еще не готов повернуться к нему лицом) не знал, что винда сама может анализировать EXIF/IPTC...




Цитата Iska:



"Canon PowerShot S2 IS"
Любой язык - [решено] как можно организовать скрытый поиск фото по модели камеры?




- помню была такая у моего друга, очень хорошая машинка!





из батника я пользую "ExifTool" (Phil Harvey)



пример использования с подкаталогами:

exiftool.exe -fast -S -r -Model *.\ - получаете просто список файлов и соответсвующую модель, если та указана, нужное занчение копируете в батник:



Код:

Код: Выделить всё

@Echo off
setlocal EnableExtensions
Set Camera=DiMAGE Z2
Set Tag=.&Set File=.
for /f "tokens=1,* delims=:" %%A in ('exiftool.exe -fast -S -r -Model .\') do call :GetModel "%%A" "%%B"
exit
:GetModel
set Tag=%~1
if "%Tag:~0,9%"=="======== " set File=%Tag:~9%
if "%Tag%"=="Model" if %2==" %Camera%" Echo %File:/=\%
exit /b
Аватара пользователя
UmbrellaMegaHack

Re: Любой язык - [решено] как можно организовать скрытый поиск фото по модели камеры?

Сообщение UmbrellaMegaHack »

Цитата Iska:



Код:

Option Explicit

Const ForWriting = 2

Dim objShell

Dim objFolder

Dim objFolderItem

Dim objFSO

Dim objTS

Set objShell = WScript.CreateObject("Shell.Application")

Set objFolder = objShell.NameSpace("C:\My Pictures")

If Not objFolder Is Nothing Then

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

Set objTS = objFSO.OpenTextFile("c:\ListOfFiles.txt", ForWriting, True)

For Each objFolderItem In objFolder.Items

If objFolder.GetDetailsOf(objFolderItem, 24) = "Canon PowerShot S2 IS" Then

objTS.WriteLine objFolderItem.Path

End If

Next

objTS.Close

Set objTS = Nothing

Set objFSO = Nothing

Set objFolderItem = Nothing

Set objFolder = Nothing

End If

Set objShell = WScript.CreateObject("Shell.Application")
Любой язык - [решено] как можно организовать скрытый поиск фото по модели камеры?








можно пример скрипта с подкатологами пожалуйста
Аватара пользователя
Iska

Re: Любой язык - [решено] как можно организовать скрытый поиск фото по модели камеры?

Сообщение Iska »

UmbrellaMegaHack, примерно так:


читать дальше »




Код:

Код: Выделить всё

Option Explicit
Const ForWriting = 2
Dim objShell
Dim objFolder
Dim objFolderItem
Dim objFSO
Dim objTS
Set objShell  = WScript.CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace("C:\My Pictures")
If Not objFolder Is Nothing Then
    Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
    Set objTS  = objFSO.OpenTextFile("c:\ListOfFiles.txt", ForWriting, True)
    ScanSubFolders objFolder
    objTS.Close
    Set objTS     = Nothing
    Set objFSO    = Nothing
    Set objFolder = Nothing
End If
Set objShell = Nothing
WScript.Quit 0
'=======================================================
'=======================================================
Sub ScanSubFolders(objFolder)
    Dim objSubFolder
    Dim objFolderItem
    WScript.Echo "[" & objFolder.Self.Path & "]"
    For Each objFolderItem In objFolder.Items
        If objFolderItem.IsFolder Then
            Set objSubFolder = objFolderItem.GetFolder
            If Not objSubFolder Is Nothing Then
                ScanSubFolders objSubFolder
            End If
        Else
            If objFolder.GetDetailsOf(objFolderItem, 24) = "Canon PowerShot S2 IS" Then
                objTS.WriteLine objFolderItem.Path
            End If
        End If
    Next
End Sub
'=======================================================





P.S. В
Любой язык - [решено] как можно организовать скрытый поиск фото по модели камеры?
скрипте исправлена очистка объектной переменной «objShell».
читать дальше »


С:



Код:

Код: Выделить всё

Set objShell = WScript.CreateObject("Shell.Application")

на:



Код:

Код: Выделить всё

Set objShell = Nothing
Аватара пользователя
Vadikan

Re: Любой язык - [решено] как можно организовать скрытый поиск фото по модели камеры?

Сообщение Vadikan »

А почему поиск должен быть скрытый? В Windows 7
все на виду
Изображение



Изображение



Ну и даже в ХР можно поставить Desktop Search.



Сорри за оффтоп Изображение
Ответить

Вернуться в «Скриптовые языки администрирования Windows»