Windows PowerShell

Windows PowerShell

Ist es mit Powershell möglich, eine Aufgabe zu automatisieren, wenn eine Datei geöffnet oder geschlossen wird? Genauer gesagt: Wenn ich mit der rechten Maustaste auf eine Datei klicke, wird das „Kontextmenü“ angezeigt. Ist es möglich, eines dieser Elemente im Menü automatisch auszuführen, wenn eine Datei geöffnet und/oder geschlossen wird?

Antwort1

Ich bin nicht ganz sicher, ob ich Ihre Frage verstehe. Lassen Sie mich Ihre Frage daher in meinen eigenen Worten umformulieren, damit Sie überprüfen können, ob wir hier über dasselbe sprechen.

Meines Wissens nach möchten Sie es möglich machen, ein Kontextelement im Explorer zu haben, das, wenn Sie mit der rechten Maustaste auf eine Datei klicken und den Eintrag auswählen, Powershell mit einem Ihrer Skripts startet und den Dateinamen der von Ihnen als zusätzliches Argument ausgewählten Datei analysiert.

Sehen Sie sich diese Frage an, um herauszufinden, was Sie in Ihrem Powershell-Skript benötigen, um die Dateiargumente zu erhalten:https://stackoverflow.com/questions/2157554/wie-man-Befehlszeilenargumente-in-Powershell-handle(Ich werde später in dieser Antwort ein Codebeispiel geben.)

Jetzt müssen Sie in der Registrierung unter HKEY_CLASSES_ROOT unter * einen neuen Schlüsselsatz für Ihr Kontextmenüelement erstellen.

Erstellen Sie die folgende Ordnerstruktur: *\MyScript\Command\Open

Geben Sie MyScript einen beliebigen Namen. Es wird im Kontextmenü angezeigt.

Geben Sie als Standardparameter zum Öffnen den vollständigen Pfad zu PowerShell an, dann den vollständigen Pfad Ihres Skripts, gefolgt von -file %1 für die Datei selbst.

In Ihrem Skript können Sie nun verwenden

param (
    [string]$file = ""
)

Wenn Sie prüfen, ob $file leer ist, wissen Sie, dass keine Datei analysiert wurde.

verwandte Informationen