plastickblog - run script from context menue with multiple arguments

run script from context menue with multiple arguments

wer gern mal eigene skripte schreibt die mit bestimmten dateien hanieren und diese häufiger verwendet, möchte natürlich auch einen entsprechend bequemen schnellzugriff darauf haben. da bietet es sich oft an das skript im kontextmenü einzubinden. per registry und HKCR, shell, command - wie man sein kontextmenü eben so gestaltet.


hürde nummer eins: dort lassen sich nur bestimmte ausführbare dateien angeben, .bat, .exe und dergleichen. wer was anderes ausführen will muss das über die kommandozeile machen, z. B. so:

cmd.exe /c start "" "C:\path\to\script.abc"

...dann läuft schonmal alles mögliche, sofern die angegebene dateiendung auf dem system generell mal irgendwas sinnvolles tun kann. will man dem skript direkt noch mitteilen bei welcher markierten datei man es gestartet hat hängt man dieses argument hintendran:

"%1"

soweit so gut. aber was, wenn man einem skript mehr als nur eine markierte datei als argument übergeben möchte? das da ist keine wirkliche lösung:

"%1" "%2" "%3"

...und das auch nicht:

"%1" %\*

will mans wirklich sauber im kontextmenü lösen hat man ein enormes problem - dann müsste man sich seine shell-handler nämlich mit bedeutendem aufwand selber zusammenprogrammieren und seinem skript womöglich noch die benötigte logik beibringen. bisschen viel, nur um mehrere argumente zu übergeben...

daher freut es mich sehr gerade über eine wirklich simple lösung gestolpert zu sein: wenn mans verkraftet dass sich der skriptstart nicht direkt im kontextmenü, sondernd im untermenü *"senden an..."* befindet, dann geht das nämlich ganz ohne weiteres zutun. alles, was man dafür machen muss, ist eine verknüpfung zum skript im folgenden verzeichnis anzulegen:

%APPDATA%\Microsoft\Windows\SendTo

...und das läuft dann auch mit multiple args. is DAS nicht verblüffend einfach und genial? :-)