Samstag, 4. Juli 2020

Windows-Tipp: Kurzbefehle zum Aufrufen von Programmen, Webadressen und Skripten


Heute wird es mal wieder richtig technisch. In diesem Beitrag möchte ich euch einen Weg aufzeigen, wie man unter Windows eigene Kurzbefehle baut, die man dann direkt über den Ausführen-Dialog starten kann. Im Gegensatz zu Tastenkombinationen können diese Kurzbefehle sprechende Namen bzw. einprägsame Abkürzungen haben. Sie arbeiten außerdem deutlich zuverlässiger als Tastenkombinationen für Windows Verknüpfungen, können sich nicht mit den Tastenkombinationen in Programmen in die Quere kommen und sind schneller als die Suche im Startmenü bzw. den Browserfavoriten.

So könnte man beispielsweise "-ie" eingeben, um den Internet Explorer zu starten oder "-g", um die Google-Suche aufzurufen. Natürlich kann man hier auch Batchdateien, Skripte und so ziemlich alles andere aufrufen, was sich auf Betriebssystemebene starten lässt.

Diese Art der Computerbedienung ist fast so alt wie die Tastatur, was sich für manche NutzerInnen vielleicht anfangs ein wenig eigenartig anfühlen mag. Sie ist aber auch sehr schnell, flexibel und intuitiv, was auch der Grund sein wird, das selbst Microsoft anscheinend wieder in diese Richtung tendiert. Ausgerechnet deren aktuelles Flaggschiff Microsoft Teams nutzt nämlich eine ganz ähnliche Technik. Dort kann man im Suchfeld (von überall zugänglich mit STRG-E) zahlreiche Kurzbefehle aufrufen, die bei Teams mit einem Schrägstrich ("/") beginnen, und die vom Starten eines Chats mit einem bestimmten Kontakt bis zur Änderung des Anwesenheitsstatus gehen.

Für alle, die diese Art der Bedienung einmal ausprobieren wollen, gibt es jetzt erst einmal eine kurze Anleitung zur Grundeinrichtung. Anschließend kommen dann noch ein paar Tipps, wie sich unterschiedliche Arten von Befehlen erstellen lassen. Bei beiden Punkten gibt es natürlich verschiedenste Wege, die ans Ziel führen. Ich skizziere hier einfach mal das, was ich selbst nutze.

Grundeinrichtung - Schritt für Schritt

Schritt 1: ein Verzeichnis für die Befehle anlegen
Die einzelnen Kommandos sind technisch Dateien auf der Festplatte. Für diese brauchen wir zunächst einen Ordner als Ablageort. Auf meinen Systemen gibt es ganz traditionell ohnehin meist einen "bin"-Ordner. Meinen Ordner für Kurzkommandos erstelle ich hier als Unterordner und nenne ihn "QuickLinks". Meine Kommandos liegen zukünftig also unter

C:\bin\QuickLinks\

Schritt 2: das Verzeichnis in die Pfadvariable aufnehmen
Damit die Kommandos ohne Angabe des Pfades aufrufbar werden, muss der Pfad zum QuickLinks-Ordner in die Pfadvariable des Systems aufgenommen werden. Dabei handelt es sich um eine sog. Umgebungsvariable. Etwas vereinfacht dargestellt: wird unter Windows ein Befehl ausgeführt, der keine Pfadangabe enthält und nicht im aktuellen Verzeichnis gefunden wird, so probiert Windows nacheinander alle Pfade aus, die in dieser Variable genannt sind, und schaut, ob die entsprechende Datei dort liegt.

Um die Umgebungsvariable "path" zu bearbeiten, gebt einfach "path" (ohne Anführungszeichen) im Suchfeld des Startmenüs ein. Der erste Suchtreffer sollte "Systemumgebungsvariablen bearbeiten" sein, was ihr dann aufruft.

Daraufhin öffnet sich der Dialog "Systemeigenschaften" auf der Registerkarte "Erweitert". Ruft in diesem Dialog jetzt die Schaltfläche "Umgebungsvariablen" auf.

Damit öffnet ihr den Dialog "Umgebungsvariablen". Dieser ist in zwei Abschnitte gegliedert. Der obere enthält die sog. Benutzervariablen, der untere die Systemvariablen. Auf die Unterschiede möchte ich hier nicht weiter eingehen. Für unsere Zwecke nutzen wir hier die Systemvariablen. 

Navigiert also zur Liste der Systemvariablen und findet die Variable "path". Zweimal Tab bringt euch auf die Schaltfläche "Bearbeiten".

Nachdem ihr diese betätigt habt, öffnet sich der nächste Dialog. Hier wird jetzt eine Liste der Pfade angezeigt, die bereits in der path-Variable gespeichert sind. Ignoriert bitte die vorhandenen Pfade (keine Experimente, es sei denn, ihr wisst genau, was ihr tut) und navigiert zur Schaltfläche "Neu". Damit wird ein neuer Eintrag hinzugefügt, den ihr direkt bearbeiten könnt. Gebt hier den vollständigen Pfad zu eurem Kommandoverzeichnis ein, inklusive eines abschließenden Backslashs. In meinem Beispiel also

C:\BIN\QuickLinks\

Drückt danach die Eingabetaste. Jetzt könnt ihr nacheinander alle offenen Dialoge über die "Ok"-Taste bestätigen. Euer neues Verzeichnis ist einsatzbereit.

Schritt 3: die ersten Kommandos definieren
Der einfachste Weg, ein Kommando zu definieren, ist eine Verknüpfung. Diese könnt ihr aus dem Startmenü oder vom Desktop in das QuickLinks-Verzeichnis kopieren, oder dort einfach selbst erstellen. Anschließend solltet ihr ggf. noch den Namen ändern.

Wie eingangs angedeutet beginnen alle meine Kommandos mit einem Bindestrich. Damit stelle ich sicher, dass ich nicht versehentlich einen Konflikt mit einem tatsächlichen Systemkommando erzeuge, was zu unerwünschten und teils bedenklichen Nebenwirkungen führen könnte. Die Dateinamen dürfen außerdem keine Leerzeichen enthalten, sonst müsste man die Kommandos immer in Anführungszeichen setzen.
Hier ein paar Beispiele für Kommandos, die ich als Verknüpfungen realisiert habe:
  • -ff
    Starte Firefox
  • -pp
    Starte PowerPoint
  • -label
    Starte das Programm meines Braille-Etikettendruckers
Ob ihr Namen lieber sprechend oder verkürzt definieren wollt, ist natürlich Geschmackssache, und hat vielleicht auch damit zu tun, wie oft man das Kommando im Alltag nutzt. Bei mir gilt definitiv: je öfter, desto kürzer der Name

Schritt 4: Kommandos aufrufen
Der einfachste Weg, ein Kommando aus dem QuickLinks-Verzeichnis aufzurufen, ist der Ausführen-Dialog von Windows. Einfach Windows-Taste + R drücken, und ein kleiner Dialog mit einem einzelnen Eingabefeld erscheint. Hier kann man ein beliebiges Kommando eingeben, und dazu zählen jetzt auch unsere selbst definierten. Gebe ich hier als also beispielsweise "-ff" (ohne Anführungszeichen) ein, dann startet Firefox. Dabei kann man übrigens auch Parameter übergeben (mehr dazu weiter unten).

Für Tekkis: andere Aufrufformen
Theoretisch lassen sich Kommandos in unserem QuickLinks-Verzeichnis übrigens überall dort aufrufen, wo Befehle direkt eingegeben werden können. Hier gibt es aber auch Ausnahmen, z.B. in der Eingabeaufforderung (cmd). Hier können .lnk-Dateien nämlich nur unter Angabe der richtigen Dateiendung gestartet werden, da .lnk standardmäßig keine ausführbare Datei im Sinne der Kommandozeile ist. 
Das lässt sich natürlich über die Umgebungsvariable "pathext" lösen. Da dies aber erhebliche Auswirkungen auf das System und seine Sicherheit haben kann, verzichte ich lieber darauf und gehe soweit erforderlich andere Wege. Konkret heißt das, dass ich für Kommandos, die ich in cmd verfügbar haben will, meistens eine Batchdatei anstatt einer Verknüpfung verwende. Oder ich gebe einfach die Endung mit ein.


Und das wäre es auch mit der Grundeinrichtung. Aber noch lange nicht damit, wie man Kommandos definieren kann.

Eine Webadresse öffnen

Gerade in meinem Job, und generell mit einer zunehmenden Anzahl an browserbasierten Anwendungen, nutze ich diese Möglichkeit sehr intensiv: Webadressen per Kommando öffnen. Leider ist das aber nicht ganz so einfach wie bei Programmen. Erstellt man nämlich eine Verknüpfung auf eine Webadresse, so wird diese nicht mit der Endung .lnk, sondern als .url-Datei gespeichert. Und diese lassen sich nicht als Kommando (ohne Eingabe der Dateiendung) aufrufen. Es gibt hier aber eine Reihe von Lösungen:

Webadresse mit einer Explorer-Verknüpfung aufrufen
Der Windows Explorer kann Webadressen öffnen. Und hier ist wirklich der Dateiexplorer gemeint, nicht der Internet Explorer. Ruft man in einer Verknüpfung das Kommando

explorer https://google.de
auf, so öffnet sich die Google-Webseite im aktuellen Standardbrowser. Dies ist einer der einfacheren Wege, eine Webadresse über eine Verknüpfung aufzurufen.

Verknüpfung auf einen bestimmten Browser
Will man eine Adresse in einem bestimmten Browser öffnen (alle üblichen Browser außer Edge), so kann man einfach die passende Programmdatei aufrufen und dabei die gewünschte Adresse übergeben. Für Firefox würde das Ziel der Verknüpfung folgendermaßen aussehen:

"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" "https://google.de"

Hier gleich noch ein kleiner trick. Ich habe ja bereits eine Verknüpfung namens "-ff", um Firefox zu starten. Erstelle ich jetzt eine neue Verknüpfung und gebe als Ziel

-ff https://google.de


ein, so baut Windows diese automatisch auf den Aufruf der "-ff"-Verknüpfung um, also auf die "firefox.exe" im passenden Verzeichnis.

Will man die Adresse explizit in Microsoft Edge öffnen, so verwendet man folgende Syntax:

explorer microsoft-edge:https://google.de

Dieser kleine Umweg ist notwendig, da Edge kein Programm im klassischen Sinne ist, sondern eine echte Windows App. Es gibt hier auch andere Wege, die sind aber deutlich komplizierter.

Batchdatei zum Aufruf von Webadressen
Man kann sich auch eine kleine Batchdatei bauen, die Webadressen öffnet. Die Verknüpfungen sind anschließend leicht zu tippen und zu lesen, und man kann den Aufruf jederzeit anpassen. 
Ich habe mir eine Batchdatei namens "-url.bat" angelegt, die folgendes Kommando enthält:
@start url:%*
Die anderen oben genannten Varianten funktionieren natürlich analog.

Eine Verknüpfung auf eine Webadresse hat dann folgendes Ziel:
-url https://google.de
Beim Aufruf geht kurz ein Fenster auf, in dem die Batchdatei ausgeführt wird. Falls euch das stört, dann könnt ihr einfach die Eigenschaften der Verknüpfung aufrufen und die Ausführungsart auf "Minimiertes Fenster" einstellen.
Mit Batchdateien lassen sich dann auch gleich mehrere Webseiten auf einmal öffnen, sei es mit dem start-Kommando oder mit explorer.

Andere Arten von Kommandos

Ein bestimmtes Dokument öffnen
Auch für Dokumente, die man häufig benötigt, kann man Verknüpfungen unter QuickLinks ablegen, und ihnen damit ein Kommando zuweisen. Und das unabhängig davon, wo das betreffende Dokument tatsächlich gespeichert ist. 
Als Ziel der Verknüpfung gibt man einfach das Dokument an, geöffnet wird es dann mit der zum Dateityp passenden Standardanwendung.

Bestimmten Ordner öffnen
Verknüpfungen können auch Ordner als Ziel haben. Diese werden dann einfach im Dateiexplorer geöffnet.

Kommandozeilenoptionen
Viele Anwendungen unterstützen verschiedenste Kommandozeilenoptionen, mit denen man sich das Leben einfacher machen kann. Wer beispielsweise jeden Tag einen Tätigkeitsbericht auf Basis einer bestimmten Dokumentvorlage oder eines bestehenden Dokuments erstellen will, der findet bei Word die passenden Kommandozeilenoptionen. Nähere Infos gibt es hier.

Andere Anwendungsbeispiele:
  • Eine bestimmte Playlist abspielen
  • Einen bestimmten Benutzer per Skype anrufen
  • Eine neue Notiz in OneNote anlegen
  • Eine bestimmte PowerPoint-Präsentation direkt vorführen

Mail an einen bestimmten Empfänger erstellen
Um eine neue Mail an einen bestimmten Empfänger zu erstellen, könnt ihr eine ähnliche Technik wie bei Webadressen verwenden, die wir oben über die Schreibweise url: aufgerufen haben, nur dass wir diesmal mailto: verwenden. Will man also eine neue Mail an "JohnDoe@acme.com" verfassen und dafür das Standardmailprogramm verwenden, so könnte man eine Verknüpfung auf
explorer mailto:johndoe@acme.com
erstellen. Für die Batchdatei zum Aufrufen von Webadressen gilt das analog, der Befehl für beliebige Mailadressen würde also lauten:
@start mailto:%*

Man kann der neuen Mail auch gleich noch weitere Daten hinzufügen, z.B. das gewünschte Thema. Eigentlich müssen solche Adressen nach bestimmten Standards kodiert werden, aber bei einer Verknüpfung können wir hier nach Herzenslust schummeln:

explorer "mailto:MeinBoss@acme.com?subject=Unsere wöchentlichen Statistiken"

Ihr habt übrigens richtig gelesen: man kann hier tatsächlich deutsche Umlaute verwenden, ohne sie umzukodieren. Zumindest mit Thunderbird kommen diese auch an. Und da liegt wie bei so vielen Tricksereien der Knackpunkt: ich kann natürlich nicht garantieren, dass das Mailprogramm eurer Wahl hier genauso gelassen reagiert. Probiert es einfach mal aus.

Für eine "-mailto"-Batchdatei sieht die Syntax etwas komplexer aus. Damit wird aber die Schreibweise beim Aufruf deutlich vereinfacht, es sind (fast) beliebig viele Leerzeichen möglich.

@echo off
 for /f "tokens=1,* delims= " %%a in ("%*") do set subject=%%b
start "" mailto:%1?subject=%subject%

Der Aufruf könnte dann zum Beispiel so lauten:
-mailto meinboss@acme.com Tägliche Statistiken der Testabteilung

So mancher Spezialist mag sich hier die Haare raufen ob meiner Ignoranz gegenüber technischen Standards. Für unsere Zwecke hier gehe ich aber strikt nach dem KISS-Prinzip. Hauptsache, es funktioniert.

Skripte, Batchdateien und der Rest
Was nicht über Verknüpfungen geht, das geht meist über Skripte, Batchdateien oder was wir sonst noch zur Verfügung haben. Bei mir starte beispielsweise "-note" das Skript aus meinem Beitrag zum Anlegen von Notizen.

Weitere Tipps zur Nutzung von Batchdateien und Skripten gibt es auch in meinem Beitrag über die Nutzung der Kommandozeile.

Und das wäre es dann auch für heute. Ich hoffe, der Beitrag war trotz der starken Techniklastigkeit noch einigermaßen verständlich. Habt ihr noch weitere Ideen zum Thema? Schreibt mir einfach einen Kommentar. Ich bin schon sehr gespannt.


Keine Kommentare:

Kommentar veröffentlichen