Windowssuche mit Parametern starten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
PeterL
User
Beiträge: 95
Registriert: Samstag 6. März 2021, 18:39

Hallo Leute,

wie kann ich mit Python die Windowssuche mit Suchparametern Starten.
Ich möchte aus Python heraus die Windowssuche starten. Ich möchte den Suchpfad, also das Startverzeichnis, sowie eine Suche übergeben. Die Windowssuche soll sich dann öffnen, und mit der Suche beginnen.

Python starte Windows Suche C:\Temp\Fotos, *.jpg ISO-Filmempfindlichkeit:<500 NOT 80 markierungen:Tiere,Wald

Bis die Tage...
Sirius3
User
Beiträge: 18279
Registriert: Sonntag 21. Oktober 2012, 17:20

Das ist ja jetzt keine Pythonfrage, sondern wie man den Explorer bedient.
Dazu gibt es die search-ms-Abfragen:

Code: Alles auswählen

explorer /n,"search-ms:crumb=Dateierweiterung:jpg&crumb=location:C:\Temp\Fotos"
Dokumentation dazu gibt es natürlich von Microsoft:
Querying the Index with the search-ms Protocol
PeterL
User
Beiträge: 95
Registriert: Samstag 6. März 2021, 18:39

Hallo und guten Tag,

ich habe mir eine Batchdatei zusammengestellt. Gefunden bei Google.

Code: Alles auswählen

 
 rem hier zu suchender Begriff
set "Suchbegriff=*.png"
  rem hier zu durchsuchender Ordner
set "SuchPfad=c:\Temp\"
  rem Suchfenster starten
start "" "search-ms:displayname=%Suchbegriff%    in: %SuchPfad%&crumb=location:%SuchPfad%&crumb=%Suchbegriff%&"
Das klappt auch alles. Mir ist nur nicht klar, wie das ganze aus Python aufgerufen werden kann. Gut ich könnte eine Batchdatei anlegen, und die dann mit Python starten. Ich möchte gerne auch die Rückgabewerte erhalten. Also alle gefundenen Dateien Als Text Pfad z.b c:\Temp\123.png. Der Explorer zeigt natürlich wie gewohnt die Suchergebnisse an.
Hast du eine Idee ?

Bis dann.
Benutzeravatar
darktrym
User
Beiträge: 785
Registriert: Freitag 24. April 2009, 09:26

Vermutlich kommt man mit Powershell an die Daten aber Python?
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Sirius3
User
Beiträge: 18279
Registriert: Sonntag 21. Oktober 2012, 17:20

Externe Programme startet man mit `subprocess.run`.
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

Alternativ könnte man auch schauen, ob man die Funktionalität der Suche in Python nachbildet.
Es kommt auf den Anwendungsfall an. Die Suche im Explorer ist an sich ja schon sehr mächtig und nicht unbedingt langsam. Wenn es aber darum geht, nur bestimmte Meta-Daten auszuwerten, könnte man schauen, ob es entsprechende Module für Python gibt, die die entsprechenden Werte auslesen kann.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wenn man die Ergebnisse will, braucht man wohl das hier: https://docs.microsoft.com/en-us/window ... s-overview, genauer zb https://docs.microsoft.com/en-us/window ... ueryhelper

Allerdings ist das ein Thema, für das der Status “Anfänger’ solide überwunden sein sollte.
PeterL
User
Beiträge: 95
Registriert: Samstag 6. März 2021, 18:39

__deets__ hat geschrieben: Mittwoch 16. März 2022, 09:31 Wenn man die Ergebnisse will, braucht man wohl das hier: https://docs.microsoft.com/en-us/window ... s-overview, genauer zb https://docs.microsoft.com/en-us/window ... ueryhelper
Hallo und guten Tag,

Mittels einer Batchdatei kann die Windowssuche mit Parametern geöffnet werden. Jedoch gibt es keine Rückgabewerte.
Mittels Subprozessmoduls ist es mir nicht gelungen die Suche zu starten. Die Windowssuche ploppt nur eine Sekunde auf ,dann schließt sie sich wieder. Es wird auch keine Fehlermeldung ausgegeben. Es passiert nichts.
Es ist auch nicht möglich über CMD den Explorer mit Such Parametern zu starten. Starten kann man den Explorer aber.
Ich werde jetzt Pli benutzen, damit kann ich die Suche nachbauen. Das scheint einfach zu sein.

Code: Alles auswählen

from PIL import Image
from PIL.ExifTags import TAGS

image = Image.open(r'c:\temp\1234.jpg')
for tag, value in image._getexif().items():
   
    print(TAGS.get(tag), value)
Schade eigentlich das andere Möglichkeiten nicht gehen, oder zu kompliziert zum Umsetzen sind.
Was mich wundert ist , das es für Python keine Modul gibt mit denen man die Windowssuche bedienen kann ?

Danke für euere Beiträge...
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das Modul gibt es doch. pywin32, mit dem man die genannte API ansteuert. Was es nicht gibt ist das “from wasichwill import machmal”.
PeterL
User
Beiträge: 95
Registriert: Samstag 6. März 2021, 18:39

__deets__ hat geschrieben: Donnerstag 17. März 2022, 18:54 Das Modul gibt es doch. pywin32, mit dem man die genannte API ansteuert. Was es nicht gibt ist das “from wasichwill import machmal”.
Hallo,

danke für den Hinweis.

Es gibt da noch die GUI-Automatisierung. Das Modul heist, PyAutoGUI damit kann man Anwendungen fernsteuern.
Buttons anklicken Textfelder ausfüllen usw. Ich habe die Information aus einem Buch. Damit kann man auch die Windowssuche fernsteuern.

Bis dann...
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Klar, aber du wolltest ja die Ergebnisse haben. Das geht damit AFAKI nicht.
Antworten