Ein kleines Plädoyer für Scripting und clevere Mini-Tools - für ein einfacheres Windows-Leben ;) Ich sitze sehr viel am Rechner und immer wieder gibt es Dinge, die viel mehr Klickerei verlangen, als ich Lust dazu hätte. Oder auch ganze Workflows, die immer gleich sind. Manchmal sind es auch einfach Kleinigkeiten, die nach einem kleinen Helferlein verlangen. Und nicht immer gibt es fertige Tools dafür - Computernutzung ist sehr individuell.
Scriptchen und Toolchen
Im Laufe der Zeit habe ich mir für viele Dinge kleine Tools oder Skripte angelegt, um mir die Arbeit zu erleichtern. Darunter zum Beispiel ganz klassische Angelegenheiten wie ein Textbausteinsystem, um nicht ständig Email-Floskeln und dergleichen tippen zu müssen. Oder auch das wunderbare TutoIpInfo, ein winziges Toolchen, das externe und interne IP-Adresse per Doppelklick anzeigt. Klar, ein Besuch auf einer der vielen Was-ist-meine-IP-Seiten ist trivial, ein Aufruf von ipconfig im Terminal schnell erledigt, aber im Vergleich zu einem popeligen Doppelklick ein wahnwitziger Aufwand für zwei olle IP-Adressen.
Das Aktualisieren unserer hauseigenen Linux-Hilfe cli.help ist hingegen weder trivial noch schnell erledigt. Und das vor allem, weil es nur alle paar Monate mal vorkommt - und bis dahin habe ich die nötigen Schritte vergessen, die Syntax einzelner Befehle ebenso und die eine oder andere zu verarbeitende Datei mit Sicherheit auch. Der Anfänger macht sich dafür erstmal Notizen, "Schritt 1 dies, Schritt 2 jenes ..." und hangelt sich da durch. Und das ist Quark! Denn was ist ein Skript anderes als ein solcher Notizzettel? Eigentlich nichts, nur dass dieser Notizzettel die Schritte gleich selbst abarbeiten kann.
Ich kann wirklich nur jedem, der viel am Rechner arbeitet empfehlen, sich ein wenig mit Scripting auseinanderzusetzen - unter Windows lässt sich allein mit Autohotkey, einer der einfachsten Skriptsprachen überhaupt, sooooo viel anstellen. Aber auch das klassische Windows-Batch-Skript, aka Stapelverarbeitung, ist immer wieder hilfreich. Im Folgenden seht Ihr einige meiner liebsten Skripte, Individualisierungen und Automatisierungen, mal popelig simpel, mal ein wenig komplexer, aber nie nur was für Profis!
Nehmt das Ganze einfach als Anregung für eigene Ideen, als Basis für eigene Anpassungen oder als Praxisbeispiele zum Lernen. Zu (fast) jedem Punkt gibt es einen eigenen, weiterführenden Artikel. Und damit es ein wenig Instant-Spaß gibt, macht die Ausnahme den Anfang: Ein fertiges Tool, das nur gestartet wird und für einen gehörigen Ästhetik-Boost sorgt ;)
Desktop-Icons verstecken
Ich gebe es zu, ich bin ein Desktop-Messie - ich sammle Icons wie ein Besessener ... So sieht der Desktop aber nicht nur scheiße aus, man führt auch viel zu viele Gespräche mit Kollegen über das immer selbe Thema, woll?! Egal, AutoHideDesktopIcons versteckt den Müll und macht ihn per Klick auf den Desktop wieder sichtbar - klein, fein, einfach.
Systeminformationen auslesen
Hier geht es ausnahmsweise mal eher um Linux, allerdings hat wohl jeder irgendwo ein Linux im Netzwerk laufen, sei es als VM, als Windows-10-Subsystem, als Media-Server oder was auch immer. Solche Systeme laufen meist einfach im Hintergrund, sind oft nur per Terminal steuerbar und kein Mensch weiß, was genau da vor sich geht. Infos wie Betriebssystem-Version, Speicherplatz oder CPU kann ich natürlich im Terminal auslesen, aber wer kann sich schon Befehle merken, die man nur drei Mal pro Jahr braucht? Also habe ich mir auf cli.help ein passendes Skript hinterlegt, das ich von fast jedem Linux-Terminal aus abrufen und ausführen kann, ohne etwas installieren zu müssen (zumindest bei Debian, Ubuntu und deren Derivaten). Und so führt dann ein simples
curl cli.help/version | sh
zu einer hübsch formatierten Ausgabe:
Das Skript kann natürlich jeder nutzen!
ALT+Klick
Mein jüngster Allzeitklassiker: Bilder öffnen sich hier per Doppelklick in irfanView - weil es ein superschneller Viewer ist, der zudem eine tolle Batch-Verarbeitung leistet und viele Alltagsaufgaben mit dem geringsten Aufwand meistert. Echtes Bearbeiten verlangt aber nach Gimp, oder meinetwegen Photoshop ..., und da hatte ich keine Lust, ständig das Öffnen-mit-Menü zu bemühen. Also kann ich Bilder nun direkt mit ALT+Klick in Gimp öffnen - und das geht natürlich mit beliebigen Dateiformaten und Programmen!
Hardlinks einsetzen
Hardlinks sind unter Windows leider nicht sonderlich verbreitet, aber super nützlich! Verknüpfungen kennt Ihr sicherlich, simple Verweise auf Dateien, auch Softlinks genannt. Löscht Ihr die Datei, führt der Softlink ins Leere. Hardlinks hingegen sorgen dafür, dass ein und dieselbe Datei zweimmal im Dateisystem vorkommt - ohne aber zweimal Platz zu brauchen! Hardlink und Originaldatei sind völlig ebenbürtig - löscht man eine der beiden, bleibt die andere völlig intakt. Damit kann man zum Beispiel mal eben ein Instant-Backup erstellen. Wie so ein Lösch-Schutz mit Windows funktioniert, zeigen wir hier.
Oder wie wäre es damit: Ihr habt Serien oder Bilder oder Musik in Ordnern organisiert, hättet aber gerne auch einen Ordner mit allen Dateien, um zum Beispiel eine Zufallswiedergabe in einem Media-Player zu ermöglichen - Hardlinks sind eine super Lösung! Statt mit dem Windows-eigenen mklink geht das auch mit dem Tool ln (Standard unter Linux), das es zum Beispiel in der Sammlung UnxUtils gibt:
ln Filme/* hardlinks/
ln Serien/* hardlinks/
Danach hättet Ihr im Ordner hardlinks alle Dateien aus den Ordnern Filme und Serien. Ich habe mir ein Skript erstellt, das Hardlinks von Dateien aus diversen Ordnern speichert. So kann ich mit einem Doppelklick eine komplette Arbeitsumgebung vor versehentlichem Löschen schützen, ohne extra Speicherplatz zu benötigen.
Bilder verschmelzen: TutoMerger
Dieses Tool spart mir jedes Jahr viele Stunden Bildbearbeitung: Bilder im Explorer markieren, per Drag&Drop auf die Batch-Datei ziehen und schon werden die Bilder horizontal oder vertikal zu einem großen Bild verschmolzen. Das ist super praktisch, um zum Beispiel Hochkant-Screenshots vom Smartphone in ein vernünftiges Format zu bringen. Den TutoMerger bekommt Ihr als fertiges Desktop-Tool mit Fenstern, schneller geht es mit der bat-Datei direkt.
Abkürzungen nicht abkürzen
Die Abkürzung für Abkürzung ist ... Tja, das kann ich leider nicht schreiben ;) Auf diesem Rechner hier werden sämtliche Abkürzungen automatisch zu den vollen Wörtern erweitert, sobald ein Satzzeichen folgt. Das ist natürlich nur ein Teil meines kompletten Textbausteinsystems, aber allein dafür kann ich es schon empfehlen. Und keine Angst vorm Scripting:
::usw::und so weiter
So einfach sieht Scripting mit AutoHokey aus!
Gimp: Rahmen ziehen
Na gut, das hier ist superspeziell: Ich brauche in Gimp häufig rote Rahmen um Bildbereiche. Dafür kann man in Gimp einfach eine Auswahl anlegen und diese Nachzeichnen lassen. Leider gibt es dafür kein Kürzel, da ein separater Dialog aufgerufen wird, der explizit bestätigt werden muss. Also erledigt ein simples AutoHotkey-Makro die ganze Angelegenheit:
; Nachzeichnen-Dialog aufrufen
F4::
SendInput !e
SendInput s
Sleep, 1000
SendInput {Enter}
return
Per F4 wird also mit ALT+E das Menü geöffnet, mit S der Nachzeichnen-Dialog aufgerufen, dann wird per Sleep eine Sekunde gewartet bis der Dialog auch wirklich offen ist und anschließend wird per ENTER bestätigt. Statt also drei Mausklicks an drei unterschiedlichen Stellen, genügt ein popeliges F4. Einfacher, oder?
Tastatur und Maus belegen
Nun wird es wieder etwas komplexer: Das obige Gimp-Makro ist Teil von El Tutos Profilmanager, meiner AutoHotkey-Verwaltung für Maus und Tastatur. Das Schöne daran: Die Gimp-Makros sind wirklich nur aktiv, wenn Gimp auch läuft, außerhalb funktioniert F4 ganz normal. Im Grunde macht El Tutos Profilmanager genau das, was auch die Verwaltungsprogramme von Maus- und Tastaturherstellern erledigen (sollen) - nur besser, zuverlässiger, schneller und universeller.
Hyperlinks in Notepad++
Das hier ist im Grunde ein prototypischer Fall für persönliche Anpassungen: Text- und Code-Editor meiner Wahl ist Notepad++, zu dem wir aus gutem Grunde Dutzende Artikel haben. Allerdings kann Notepad++ keine HTML-Links erstellen! Mit ein ganz klein wenig Scripting kann ich nun aber Text wie
https://www.tutonaut.de Der weltbeste Tutonaut.
markieren und "Der weltbeste Tutonaut" in einen HTML-Link verwandeln.
cli.help-Workflow automatisieren
cli.help ist unsere hauseigene Linux-Hilfe für den Terminal - im Terminal. So könnt Ihr zum Beispiel Syntaxhilfe zum Befehl eval bekommen:
curl cli.help/eval
Wenn ich in cli.help Aktualisierungen durchführe, sieht der Workflow ungefähr so aus, wenn ich die Datei foobar ergänzen will:
- foobar in readme-Datei eintragen
- foobar in den 5 Listendateien eintragen
- foobar-Inhalt in 3 Dumpdateien anfügen
- HTML-Version foobar.html erstellen
- Link auf foobar.html in browser.html eintragen
- foobar und foobar.html in Git hinzufügen
- Änderungen in git committen
Viele Schritte, viele Dateien, viel Syntax - kann ich mir nicht merken, will ich auch nicht. Wie oben erwähnt: So eine Liste mit Schritten ist nichts anderes als der Rohentwurf für ein Skript! Wie das im Detail aussieht, seht Ihr hier.
Einige der Anpassungen, Automatisierungen, Individualisierungen aus diesem Artikel sind freilich nur und auschließlich für mich persönlich relevant, insbesondere der cli.help-Kram. Aber nehmt es schlicht als Anregungen für eigene Anliegen. Skripte bestehen nicht selten nur aus wenigen Zeilen Code und können dennoch sehr viel Arbeit ersparen. Skripte bieten sich immer an, wenn sich Dinge wiederholen. Das können ganze Workflows sein wie im letzen Beispiel, simple Stapelverarbeitung wie bei den Hardlinks oder auch einzelne Aufgaben, für die es einfach keine fertigen Tools gibt, so wie etwa beim TutoMerger. Und selbst wenn es nur supertriviale Minimakros wie beim Rahmenzeichnen in Gimp sind - es spart Zeit, ist lehrreich und macht Spaß! Gut, das ist vielleicht auch wieder nur für mich persönlich der Fall ...
Und wenn Ihr gerne wissen wollt, was das vielleicht nützlichste Fortgeschrittenenwerkzeug der Welt ist, Captain Regex erzählt es Euch.
Übrigens, Scripting mit AutoHotkey macht Spaß, Windows-Batch-Scripting hingegen nicht - das ist unter Linux/Bash um Welten besser. Aber wenn Ihr auf Batches angewiesen seid, noch gibt es auch Bücher dafür - mit Kindle Unlimited wäre es sogar kostenlos: