WinToolset – Benutzerhandbuch
WinToolset ist eine Sammlung kleiner Kommandozeilenprogramme für Windows. Die
Programme helfen bei häufigen Aufgaben rund um Dateien, Netzwerk, Prozesse,
Windows-Dienste und Systemdiagnose. Nach der Installation können sie in
PowerShell, der Eingabeaufforderung (cmd.exe) und in Skripten verwendet werden.
Installation
WinToolsetSetup.exestarten.- Die Abfrage der Windows-Benutzerkontensteuerung bestätigen.
- Die Installation abschließen.
- Ein bereits geöffnetes Terminal schließen und neu öffnen.
Die Programme werden standardmäßig in C:\bin installiert. Der Installer fügt
diesen Ordner zum systemweiten PATH hinzu. Dadurch lassen sich die Befehle aus
jedem Verzeichnis aufrufen.
Die Installation kann anschließend geprüft werden:
sysinfo
wcore --help
Falls Windows einen Befehl nicht findet, zuerst ein neues Terminal öffnen und anschließend prüfen:
$env:Path -split ";"
Get-Command sysinfo
Grundlegende Bedienung
Alle Befehle besitzen eine integrierte Hilfe:
wget --help
find --help
wcore grep --help
Pfade mit Leerzeichen müssen in Anführungszeichen stehen:
hash "C:\Meine Dateien\archiv.zip"
Zeitangaben verwenden Einheiten wie 500ms, 30s, 5m oder 24h.
Größenfilter von find akzeptieren B, KB, MB und GB.
Einige Befehle können Daten über die Pipeline empfangen oder weitergeben:
"Hallo Welt" | hash -a sha256 -
Get-Content .\server.log | grep error
Übersicht
| Befehl | Aufgabe |
| --- | --- |
| sysinfo | System-, Speicher-, Netzwerk- und Laufwerksinformationen anzeigen |
| hash | SHA-256-, SHA-1- und MD5-Prüfsummen berechnen |
| backup | Einen Ordner als Sicherung mit Zeitstempel kopieren |
| fcp / fmv | Dateien und Ordner parallel kopieren oder verschieben |
| unpack | Archive entpacken |
| wget | Dateien über HTTP oder HTTPS herunterladen |
| http | HTTP-Endpunkte, Header, TLS und Antwortzeit prüfen |
| dns | DNS-Einträge abfragen |
| nc | Eine einfache TCP-Verbindung öffnen |
| ping2 | Windows-Ping mit Zusammenfassung und CSV-Ausgabe ausführen |
| netscan | TCP-Ports eines Hosts prüfen |
| portkill | Den Prozess zu einem lokalen TCP-Port finden oder beenden |
| find | Dateien und Ordner rekursiv suchen |
| service | Windows-Dienste anzeigen und verwalten |
| eventlog | Einträge aus Windows-Ereignisprotokollen lesen |
| wcore | Zusätzliche Unix-ähnliche Basisbefehle bereitstellen |
Systeminformationen und Prüfsummen
sysinfo
Zeigt unter anderem Hostname, Benutzer, Windows-Version, CPU, RAM, Laufzeit, IP-Adressen und lokale Laufwerke an.
sysinfo
sysinfo -json
Mit -json entsteht eine maschinenlesbare Ausgabe für Skripte.
hash
Ohne Option wird SHA-256 verwendet. Es können mehrere Dateien angegeben werden;
- steht für die Standardeingabe.
hash .\download.zip
hash -a md5 .\download.zip
hash -a all .\datei1.bin .\datei2.bin
"abc" | hash -
-a, -alg und -algorithm sind gleichbedeutend. Erlaubte Werte sind
sha256, sha1, md5 und all.
Dateien, Backups und Archive
backup
Kopiert einen vollständigen Ordner in einen neuen Ordner mit Zeitstempel, zum
Beispiel projekt_20260705_143000. Ohne -dest liegt die Sicherung neben dem
Quellordner.
backup C:\Daten\projekt
backup -dest D:\Backups C:\Daten\projekt
backup -dry-run C:\Daten\projekt
Mit -dry-run werden Quelle und Ziel nur angezeigt; es werden keine Dateien
kopiert.
fcp und fmv
fcp kopiert Dateien oder komplette Verzeichnisbäume. fmv verschiebt sie und
verwendet beim Verschieben zwischen Laufwerken automatisch Kopieren und Löschen.
fcp C:\Daten D:\Kopie\Daten
fcp -j 8 -f C:\Daten D:\Kopie\Daten
fmv .\alt.txt .\Archiv\alt.txt
-j <Anzahl>legt die Zahl paralleler Kopierprozesse fest.-ferlaubt das Überschreiben vorhandener Ziele.
Ohne -f werden vorhandene Zieldateien geschützt. Bei fmv ist zu beachten,
dass die Quelle nach erfolgreichem Verschieben entfernt wird.
find
Durchsucht einen Ordner rekursiv. Ohne Startordner wird das aktuelle Verzeichnis verwendet. Filter lassen sich kombinieren.
find -name bericht C:\Daten
find -regex "(?i).*\.log$" -since 24h C:\Logs
find -min-size 10MB -max-size 1GB -json D:\Daten
find -since 2026-07-01 C:\Daten
| Option | Bedeutung |
| --- | --- |
| -name <Text> | Teiltext im Datei- oder Ordnernamen |
| -regex <Ausdruck> | Regulärer Ausdruck für den Namen |
| -min-size <Größe> | Mindestgröße |
| -max-size <Größe> | Höchstgröße |
| -since <Wert> | Geändert innerhalb einer Dauer oder seit JJJJ-MM-TT |
| -json | Ergebnisse als JSON ausgeben |
unpack
unpack .\archiv.zip
unpack -C D:\Entpackt .\archiv.tar.gz
unpack -dest .\ausgabe .\daten.bz2
Nativ unterstützt werden zip, cbr, tar, tar.gz, tgz sowie einzelne
gz- und bz2-Dateien. Archivpfade werden beim Entpacken geprüft, damit Dateien
nicht außerhalb des Zielordners abgelegt werden. rar, xz, txz und
tar.xz benötigen derzeit einen externen Entpacker und werden abgelehnt.
Netzwerk
Netzwerkprüfungen sollten nur auf eigenen Systemen oder mit ausdrücklicher Erlaubnis durchgeführt werden.
wget
wget https://example.com/datei.zip
wget -O paket.zip https://example.com/download
wget -P D:\Downloads https://example.com/datei.zip
wget -c -tries 3 -timeout 2m https://example.com/gross.iso
wget -O - -H "Accept: application/json" https://example.com/status
Wichtige Optionen:
| Option | Bedeutung |
| --- | --- |
| -O <Datei> | Zielname; -O - schreibt nach stdout |
| -P <Ordner> | Zielordner |
| -c | Teilweise vorhandenen Download fortsetzen |
| -tries <Anzahl> | Anzahl der Versuche |
| -timeout <Dauer> | Zeitlimit pro Anfrage |
| -H "Name: Wert" | Eigenen HTTP-Header hinzufügen; mehrfach möglich |
| -user-agent <Text> | User-Agent setzen |
| -q / -v | Weniger beziehungsweise mehr Statusausgabe |
| -no-check-certificate | TLS-Zertifikatsprüfung abschalten |
-no-check-certificate sollte nur zur gezielten Diagnose verwendet werden, da
es die Identitätsprüfung des Servers deaktiviert.
http
Sendet genau eine HTTP-Anfrage. Fehlt das Schema, wird https:// angenommen.
http example.com
http -X HEAD https://example.com
http -body https://example.com/status
http -json -timeout 5s https://example.com
Die Standardausgabe enthält Status, Antwortzeit, Header und bei HTTPS die
TLS-Version. -body ergänzt den Antworttext, -json liefert JSON und -X
ändert die HTTP-Methode.
dns
dns example.com
dns -type MX example.com
dns -type TXT -json example.com
Unterstützte Typen sind A, AAAA, MX, NS, TXT und CNAME.
ping2
ping2 example.com
ping2 -n 10 192.168.1.1
ping2 -csv .\ping.csv example.com
ping2 -t gateway.local
-n bestimmt die Anzahl der Anfragen, -t pingt bis zum Abbruch mit
Strg+C. Die CSV-Datei enthält eine Zusammenfassung mit Zeitstempel,
Paketverlust sowie minimaler, maximaler und mittlerer Laufzeit.
netscan
Führt parallele TCP-Verbindungsversuche aus und zeigt offene Ports an.
netscan example.com
netscan -p 22,80,443,8000-8010 192.168.1.10
netscan -json -timeout 500ms -j 256 server.local
Standardmäßig werden die Ports 80 und 443 geprüft. -p akzeptiert einzelne
Ports und Bereiche, -j setzt die Parallelität und -timeout das Zeitlimit je
Verbindungsversuch.
nc
Öffnet eine TCP-Verbindung, leitet stdin an den Server und dessen Antwort nach stdout weiter.
nc 127.0.0.1:6556
nc -w 5s example.com 80
"GET / HTTP/1.0`r`nHost: example.com`r`n`r`n" | nc example.com:80
-w und -timeout setzen das Zeitlimit für den Verbindungsaufbau. Das Programm
unterstützt kein UDP, TLS und keinen Listen-Modus.
portkill
Ermittelt über netstat die PID zu einem lokalen TCP-Port. Ohne -force werden
Treffer nur angezeigt.
portkill 3000
portkill -dry-run 8080
portkill -listen -force 3000
-listenberücksichtigt nur lauschende TCP-Sockets, wenn Windows den Status alsLISTENINGausgibt.-forcebeendet die gefundenen Prozesse.-dry-runerzwingt eine reine Vorschau.
Das Beenden fremder oder geschützter Prozesse kann Administratorrechte
erfordern. Vor -force sollte die angezeigte PID geprüft werden.
Windows-Verwaltung
service
service list
service search spool
service status Spooler
service start Spooler
service stop Spooler
service restart W32Time
Das Tool verwendet sc.exe. Für Start, Stop und Neustart ist häufig ein als
Administrator geöffnetes Terminal nötig. Als Name wird der interne Dienstname,
nicht zwingend der übersetzte Anzeigename, verwendet.
eventlog
Liest die neuesten Ereignisse zuerst über das Windows-Programm wevtutil.
eventlog
eventlog -log Application -n 50
eventlog -log System -level error -n 10
eventlog -level warning -json
| Option | Bedeutung |
| --- | --- |
| -log <Name> | Ereignisprotokoll, standardmäßig System |
| -n <Anzahl> | Anzahl der Einträge, standardmäßig 20 |
| -level <Wert> | error, warning, info oder numerischer Windows-Level |
| -json | Gibt „RenderedXml“ von wevtutil aus |
Hinweis: Trotz des Optionsnamens -json ist die Ausgabe derzeit gerendertes XML
und kein JSON-Dokument.
Unix-ähnliche Befehle mit wcore
wcore bündelt häufig verwendete Basiswerkzeuge in einer Datei. Ein Befehl kann
auf zwei Arten aufgerufen werden:
wcore grep -i error .\server.log
grep -i error .\server.log
Der zweite Aufruf verwendet einen bei der Installation erzeugten Alias. Für
find, nc und wget werden bewusst die umfangreicheren Einzelprogramme als
direkte Aliase installiert; die kompakteren Varianten bleiben über
wcore find, wcore nc und wcore wget erreichbar.
| Bereich | Befehle |
| --- | --- |
| Dateien und Pfade | basename, cat, cp, dirname, find, ls, mkdir, mv, pwd, rm, rmdir, touch |
| Text und Streams | echo, grep, head, sort, strings, tail, tee, uniq, wc, yes |
| Archive und Kodierung | base64, hexdump, md5sum, sha256sum, tar, unzip |
| System und Prozesse | date, df, du, env, kill, ps, sleep, which, whoami |
| Netzwerk | nc, wget |
| Skripthilfen | false, seq, true |
Beispiele:
ls -l C:\Windows
grep -i -n "fehler" .\anwendung.log
head -n 20 .\anwendung.log
tail -n 50 .\anwendung.log
sha256sum .\download.zip
du -h C:\Daten
df -h
wcore tar -xf .\archiv.tar -C .\ausgabe
Da die Werkzeuge bewusst kompakt sind, unterstützen sie nicht jede Option der
gleichnamigen Linux-Programme. Die verbindliche Optionsliste zeigt jeweils
<Befehl> --help, zum Beispiel grep --help oder wcore tar --help.
Besondere Vorsicht gilt bei rm, rmdir, mv und kill: Änderungen werden
direkt ausgeführt und landen nicht automatisch im Windows-Papierkorb.
Verwendung in Skripten
Für die Weiterverarbeitung sollten, wo vorhanden, die JSON-Optionen verwendet werden:
$info = sysinfo -json | ConvertFrom-Json
$info.host
$offenePorts = netscan -json -p 80,443 server.local | ConvertFrom-Json
$offenePorts | Where-Object open
Ein Rückgabecode von 0 bedeutet Erfolg. Bei ungültigen Argumenten oder einem
fehlgeschlagenen Vorgang wird eine Meldung auf stderr geschrieben und ein
Rückgabecode ungleich 0 gesetzt. In PowerShell enthält $LASTEXITCODE den
Rückgabecode des zuletzt ausgeführten Programms.
Deinstallation
WinToolset kann über Einstellungen → Apps → Installierte Apps → WinToolset oder direkt über folgendes Programm entfernt werden:
C:\bin\UninstallWinToolset.exe
Der Deinstaller entfernt die Programme und Befehls-Aliase. Der Eintrag
C:\bin bleibt derzeit im systemweiten PATH erhalten. Falls WinToolset nicht
erneut installiert werden soll, kann dieser Eintrag anschließend über
Systemeigenschaften → Erweitert → Umgebungsvariablen → Path entfernt werden.
Fehlerbehebung
- Befehl nicht gefunden: Terminal nach der Installation neu öffnen und mit
Get-Command <Befehl>prüfen, obC:\bingefunden wird. - Zugriff verweigert: PowerShell oder Eingabeaufforderung als Administrator öffnen, insbesondere für Dienste, geschützte Prozesse und Ereignisprotokolle.
- Pfad wird in mehrere Argumente zerlegt: Den vollständigen Pfad in Anführungszeichen setzen.
- Netzwerkbefehl läuft in ein Timeout: Erreichbarkeit, DNS, Firewall und den angegebenen Port prüfen; bei Bedarf das Timeout erhöhen.
- Option unbekannt: Die Hilfe des konkreten Befehls mit
--helpaufrufen.