pixel0815
Goto Top

Drive Mapping einer WIA Kamera unter Windows 7

Hallo liebe Gemeinde,

gibt es eine Möglichkeit per Powershell oder ähnliches eine Kamera die via WIA 2.0 ( windows 7 ) angeschlossen ist ein Laufwerk zuzuweisen bzw. die Fotos auf der Kamera in einen Ordner zu übertragen, den als Laufwerk anzeigen und per Knopfdruck zu löschen auf Kamera und den Inhalt des Ordners?
Hat jemand mal sowas gemacht?

Lg aus Hamburg
Heiko

Content-Key: 265298

Url: https://administrator.de/contentid/265298

Printed on: April 26, 2024 at 12:04 o'clock

Mitglied: 117643
117643 Mar 05, 2015 at 08:14:20 (UTC)
Goto Top
WIA ist eine Schnittstelle um Fotos zu machen, vergleichbar mit einem Scanner und dessen Scannersoftware...
da gibts keine Laufwerke oder Ordner...

Wenn die Kamera über einen Massenspeicher verfügt auf dem Bilder gespeichert werden, sollte das Laufwerk automatisch verbunden werden
Mitglied: 114757
114757 Mar 05, 2015 updated at 08:20:13 (UTC)
Goto Top
Yup das geht .... Aber Drivemapping ?? Nope, das geht via WIA anders ...
https://msdn.microsoft.com/en-us/library/windows/desktop/ms630308(v=vs.8 ...

WIA kannst du auch via COM-Object in PS ansprechen ....
$wia = New-Object -Com "Wia.Script"

Gruß jodel32
Member: pixel0815
pixel0815 Mar 05, 2015 updated at 08:16:28 (UTC)
Goto Top
Das weiß ich. Aber es ist anders nicht möglich :o)
Member: pixel0815
pixel0815 Mar 05, 2015 at 09:58:58 (UTC)
Goto Top
Ich suche sowas wie hier

Set objDeviceManager = CreateObject("WIA.DeviceManager")  

Set objDeviceInfo = objDeviceManager.DeviceInfos(1)
WScript.Echo objDeviceInfo.Properties("Name")  

Set objDevice = objDeviceInfo.Connect

For Each objFolder In objDevice.Items
    If objFolder.Properties("Item Name") = "Images" Then  
        For Each objPicture In objFolder.Items
            WScript.Echo objPicture.Properties("Item Name")  
            Set objImageFile = objPicture.Transfer
            objImageFile.SaveFile "C:\Scripts\" _  
                & objPicture.Properties("Item Name") & ".jpg"  
        Next
    End If
Next

http://helvick.blogspot.de/2007/08/camera-automation-with-powershell-pa ...

Dort gibt es auch ein PS Script aber das funktioniert leider nicht mehr.
Die Bilder sollen in einen Ordner transferiert werden, und die Fotos von der Kamera gelöscht.

           # We have an image on the camera that we need to tidy up
            $ActiveCamera.items.Remove($ActiveCamera.items.Count)
Member: colinardo
colinardo Mar 05, 2015 updated at 10:30:21 (UTC)
Goto Top
Hallo Heiko,
hier ein einfaches Beispiel, mit Powershell:
$folderSave = "D:\AusgabePfad"  
$wiaDM = New-Object -ComObject WIA.DeviceManager
if($wiaDM.DeviceInfos.Count -gt 0){
    $dlg = New-Object -ComObject WIA.CommonDialog
    $camera = $dlg.ShowSelectDevice()
    $items =  $dlg.ShowSelectItems($camera,0,131072, $false)
    $items | %{
        $filename = $_.Properties | ?{$_.Name -eq "Item Name"} | select -Expand Value  
        $extension = $_.Properties | ?{$_.Name -eq "Filename extension"} | select -Expand Value  
        $targetPath = "$folderSave\$filename.$extension"  
        write-host "Speichere $targetPath ..." -ForegroundColor Green  
        $img = $_.Transfer()
        $img.SaveFile($targetPath)
    }
    $dlg = $null
    $camera = $null
}else{
    write-host "Keine Kamera verbunden"  
}
$wiaDM = $null
Für das automatisierte Wählen alle Files muss man wissen ob die Files in Unterordnern organisiert sind, dann kann man das auch ohne Auswahldialog machen. Muss ich später noch mal in die Doku schauen ...
Und ob man die Files via WIA löschen kann kommt auch auf die Kamera drauf an, bei manchen geht das nicht. Ich habe hier leider so ein Modell.

Grüße Uwe
Member: pixel0815
pixel0815 Mar 05, 2015 at 11:15:59 (UTC)
Goto Top
Hallo Uwe,

es läuft einwandfrei.
Die Kamera unterstützt das löschen über WIA. Das weiß ich sogar :o

Liebe Grüße
Heiko