none
Powershell - Eigenschaften wie Kameramodell auslesen RRS feed

  • Frage

  • Hallo zusammen,

    ich bin recht neu bei der "programmierung" mit Powershell habe aber einige nützliche Vereinfachungen dadurch entdeckt.

    Meine Frage ob ich irgendwie an die Infos wie z.b. Kameramodell oder Auflösung bei Bildern oder andere Eigenschaften bei anderen Dateitypen herankomme, die offensichtlich über get-childitem nicht abgegriffen werden?

    Gruß
    Senoyches

    Freitag, 15. November 2019 12:55

Antworten

Alle Antworten

  • Vielleicht hilft ja dies:
    https://devblogs.microsoft.com/scripting/use-powershell-to-find-metadata-from-photograph-files/
    Freitag, 15. November 2019 13:04
  • ja, drauf bin ich auch schon gestoßen, aber entweder bin ich zu blöd oder keine Ahnung war mir noch an vorwissen fehlt.

    also ich bekomme ohne Probleme von einem Ordner alle Bilder ausgelesen soweit kein Problem

    ABER: Nur, wenn dieser Ordner mindestens einen Unterordner hat Beispiel:

    get-filemetadata -folder (get-childitem P:\Personen\).fullname


    geht ohne Probleme

    get-filemetadata -folder (get-childitem P:\Personen\Hugo).fullname


    geht nicht mehr, weil sich in diesem Ordner nur die Bilder direkt befinden, aber kein Unterordner vorhanden ist.

    Es müsste doch möglich sein gezielt einen Ordner auszuwählen, auch wenn ich als zusätzlichen parameter *.jpg angebe oder so etwas in der Richtung schlägt die Ausgabe mit einer Fehlermeldung fehl.

    Desweiteren korrigiert mich, wenn ich mich täusche aber die erste Zeile müsste doch eigentlich identisch mit der folgenden:

    get-filemetadata -folder (get-childitem P:\Personen\) | Select-Object FullName

    Oder bin ich hiermit auf dem Holzweg, aber auch diese Meldung schlägt schon fehl, wie gesagt ich bin noch realtiv am Anfang mit Powershell, daher versuche ich mich mit solchen vergleichsweise einfachen Dingen.

    Gruß
    Senoyches

    Freitag, 15. November 2019 14:27
  • https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-childitem?view=powershell-6

    Get-ChildItem .... | for ....

    Freitag, 15. November 2019 14:53
  • Gut ich habe dann nochmal ein wenig weiter experimentiert und bin tatsächlich zu Ergebnissen gekommen, ABER ..... bei einer Operation die Bildhöhe soll zwischen 1080 und 720 schlägt es fehl.

    Get-FileMetaData -folder (Get-childitem P:\Spiele\ -Recurse -Directory).FullName | ? {$_.hight -lt 1080}

    Dieser Befehl geht ohne Probleme

    Get-FileMetaData -folder (Get-childitem P:\Spiele\ -Recurse -Directory).FullName | ? {($_.hight -gt 50) -and ($_.hight -lt 1000)}

    dieser hingegen geht nicht, ich habe es mit und ohne Klammern probiert, woran kann das liegen? Auch in einem anderen Forum wurde mir zu einem früheren Problem genau so eine Formel vorgeschlagen, wenn auch als Dateigrößenbegrenzung, aber ob ich nun Größe oder Höhe abfrage kommt ja eigentlich auf das gleiche raus.

    Gruß
    Senoyches

    Montag, 18. November 2019 14:50
  • Ggf. wird das Attribut als Zeichenkette ausgegeben und da ist nun mal "50" > als "1080".
    Also musst du den Wert in eine Zahl konvertieren und dann filtern:

    https://stackoverflow.com/questions/33707193/how-to-convert-string-to-integer-in-powershell/33707377

    Montag, 18. November 2019 15:02