41 Stimmen

Wie übergebe ich MEHRERE Dateinamen an einen Shell-Befehl im Kontextmenü?

Die Übergabe eines einzelnen Dateinamens an einen Shell-Befehl im Kontextmenü ist einfach:

[HKEY_CLASSES_ROOT\*\shell\MyProgram\Command]
@="program.exe %1"

Aber wenn ich mehrere Dateien auswähle, program.exe wird aufgerufen für jede eine solche ausgewählte Datei.

Was ich stattdessen tun möchte, ist der Aufruf von program.exe nur einmal und übergibt ihr alle aktuell ausgewählten Dateinamen.

Wie kann man das tun?

34voto

W4ldi Punkte 586

Sie können verwenden Senden an für diese. Es unterstützt mehrere Dateien.

Für den Fall, dass diese Website offline geht:

Ouvrir shell:sendto mit Windows + R oder fügen Sie sie in die Adressleiste Ihres Explorers ein. Sie sollten zu folgender Seite weitergeleitet werden:

C:\Users\<yourusername>\AppData\Roaming\Microsoft\Windows\SendTo

Erstellen Sie eine Verknüpfung zu Ihrem Programm in diesem Ordner, und Sie sollten es im Rechtsklickmenü Ihres Explorers unter Send to

8voto

Eternal Learner Punkte 2562

Sie sollten sich Folgendes ansehen diese Stelle Es besagt, dass es nicht möglich ist, mehrere Dateien an eine einzige Instanz zu übergeben, und dass man sich auf eine Form von IPC (Inter process Communication) verlassen muss.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X