Workflow-Banner

Multilinks: Mehrere Programme mit nur einer Verknüpfung öffnen

Egal ob für Hobby oder Arbeit: Man startet oft die gleiche handvoll an Programmen oder öffnet die gleichen 3-4 Internetseiten. Startmenü, Desktopverknüpfungen und Favoriten im Browser helfen, dabei den Überblick zu wahren und schneller zum Ziel zu kommen. Es gibt aber wie so oft noch Optimierungsmöglichkeiten. Eine solche Möglichkeit bietet sich auf Betriebssystemen mit PowerShell-Installation. Dabei wird eine Verknüpfung zu Powershell aufgerufen, die alle Links eines Ordners gleichzeitig öffnet. In diesem Beitrag wird im Speziellen auf  Windows10 eingangen.

Problemstellung

Ein Projekt für eine Webseite macht es neben einem Code-Editor oder einer IDE auch erforderlich, Grafiken zu bearbeiten, FTP– und SSH-Verbindungen zu verwalten und vielleicht noch Dokumentationen neben dem Editor offen zu haben. Es gibt vielleicht einen lokalen und einen Online-Testserver, einen Docker-Container, Terminals für Skripte, Versionsverwaltung usw. Da können schon schnell viele Programme und Ordner zusammenkommen, die zu Beginn des Arbeitsprozesses geöffnet werden müssen.

Lösungsansatz

Nur eine Haupt-Verknüpfung benutzen und PowerShell das Aufrufen weiterer Verknüpfungen überlassen. Und so geht’s:

1. Gewünschte Verknüpfungen sammeln

  • Einen Ordner anlegen, in den alle zu startenden Programme und Links kommen
  • Wenn man mehrere solcher Ordner anlegt, lohnen sich aussagekräftige Namen und ein gemeinsames übergeordnetes Verzeichnis
  • Ordnerpfad merken / kopieren
Ordner mit Verknüpfungen
Ordner mit Verknüpfungen (.lnk und .url), für eine Startreihenfolge können die Links auch nummeriert werden

2. Hauptverknüpfung erstellen

Eine neue Verknüpfung erstellen

Eigenschaften der Verknüpfung
Verknüpfung mit PowerShell-Befehl in Kurzform (1), Arbeitsverzeichnis in dem der Befehl ausgeführt werden soll (2) und standardmäßig minimierter Start (3)

Ziel:powershell "gci | % { ii $_ }"

  • powershell wird automatisch zur powershell.exe mitsamt Pfad umgewandelt
  • Voraussetzung dafür ist, dass die powershell.exe sich in $env:PATH  befindet
    Kann man schnell überprüfen mittels $env:PATH.Split(';') -match 'powershell'
  • Siehe auch Windows: Eigene Umgebungsvariablen setzen und verwenden

Ausführen in: Pfad des Ordners, in dem sich die Links befinden

  • Dadurch wird PowerShell mitgeteilt, in welchem Ordner der Befehl ausgeführt werden soll
  • Alternativ kann der Verzeichniswechsel mit ins Ziel geschrieben werden
  • Dabei ist zu beachten, dass das Textfeld für Ziel auf ca. 260 Zeichen begrenzt ist

Tastenkombination: kann man setzen, wenn man möchte

Ausführen: Auf minimiert setzen

  • Dient nur dem Zweck, dass das PowerShell-Fenster nicht in den Vordergrund rückt
  • Bezieht sich nur auf das PowerShell-Terminal, nicht auf die aufgerufenen Links
  • Man kann in den jeweiligen Verknüpfungen einstellen, ob diese normal oder maximiert / minimiert aufgerufen werden sollen

Anderes Symbol…: Icon ändern, falls man möchte

  • Hat man mehrere solcher Multilinks, können Icons dabei helfen, sie voneinander abzuheben
  • Standardmäßig wird das PowerShell-Icon gesetzt
  • Um die Windows-Icons in der Auswahl anzuzeigen, kann man einfach das Feld mit der Symboldatei leeren oder eine ungültige Datei auswählen
  • Standardsammlung ist in: %SystemRoot%\System32\SHELL32.dll

Erweitert…: nicht als Admin starten

  • Der Befehl kann ohne Administratorrechte ausgeführt werden
  • „Als Administrator ausführen“ bezieht sich nur auf den PowerShell-Befehl
  • Falls bestimmte Verknüpfungen als Admin gestartet werden sollen, muss das in den jeweiligen Verknüpfungen eingestellt sein

3. Loslegen!

  • Die zu startenden Programme können einfach und schnell im Verknüpfungsordner verwaltet werden
  • Multilink und Linkordner können kopiert und angepasst werden, wenn man eine neue Programm-Gruppe braucht
  • Das ermöglicht einen modularen und ablauforientierten Workflow

Hinweise

  • Auch wenn hier nicht näher darauf eingegangen wurde, ist diese Vorgehensweise auch mit CMD und Batch möglich (bei Linux kann man dafür Shellskripte schreiben, oder neuerdings ebenfalls PowerShell verwenden).
  • .url-Dateien werden mit dem Standardbrowser als Tab geöffnet. Um mehr Kontrolle über Browser und Fenster zu haben, kann man stattdessen eine Verknüpfung zum Browser in den Ordner legen und dort als Parameter die gewünschte Webseite und eventuell weitere Kommandozeilen-Parameter angeben.
  • Die Variante gci | % { ii $_ }  kann auch ohne Pipeline geschrieben werden, dann aber mit foreach  statt %  (ForEach-Object)
    • foreach($link in (Get-ChildItem))
      {
        Invoke-Item $link;
      }
  • War ein Ordner bereits geöffnet, so wird er durch die Ordnerverknüpfungen lediglich in den Vordergrund gebracht
    • Wenn jedes Mal ein neues Fenster geöffnet werden soll, reicht es, unter „Ziel“ explorer an den Anfang zu setzen (ähnlich wie bei .url-Dateien und Browsern)

Links

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.