Powershell vs. Cmd

Powershell vs. Cmd

Ich bin vor Kurzem von Ubuntu auf Windows 10 umgestiegen. In Windows gibt es zwei verschiedene Terminals: PowerShell und die Eingabeaufforderung. Was ist der Hauptunterschied zwischen ihnen?

Antwort1

CMD stammt aus der DOS-Ära. Es hat eine einfache Befehlsstruktur und ist eine zeilenweise Befehlssprache.

Man gibt Befehle aus, bekommt Feedback und es ist vor allem nützlich, um Programme zu starten. Um komplexere Dinge zu tun, muss man normalerweise ein Programm verwenden, das genau diese Funktion ausführt.

cmd verfügt zwar über viele Befehle, wie etwa Kopieren und Verschieben, diese sind jedoch nur zum Ausführen einiger grundlegender Aufgaben gedacht.

PowerShell ist eine fortgeschrittenere Sprache, die eine erweiterte Version der Eingabeaufforderung darstellt. Sie wurde als Windows-Variante der Bash für Linux entwickelt und verwendet das .NET-Framework. Alle Befehle sind nativ für PowerShell und PowerShell kann mit der Ausgabe jedes Programms interagieren, um noch mehr Funktionen zu ermöglichen.

Was ist der Hauptunterschied zwischen ihnen?

cmd ist eine sehr einfach zu erlernende Sprache, ihre Möglichkeiten sind jedoch sehr eingeschränkt.

Powershell ist eine sehr komplexe Sprache, die nicht leicht zu beherrschen ist, wenn Sie sich nicht auch mit anderen Sprachen wie Bash auskennen. Aber wenn Sie sie einmal beherrschen, eröffnet sie Ihnen eine Welt voller Möglichkeiten. Ihre Stärke liegt darin, Befehle zusammenzuleiten (Ausgabe von einem Befehl zum nächsten umzuleiten und diese wiederum zum nächsten usw.) und die Ausgabe verwenden, in etwas Nützlicheres umwandeln und dann anzeigen oder speichern zu können.

Antwort2

Es gibt nicht viele Gemeinsamkeiten zwischen Batch und Powershell.

Batch existiert seit 30 Jahren und die einzigen wesentlichen Erweiterungen erfolgten durch die Umstellung von MSDOS auf Windows.

Batch unterstützt nur einfache Befehle und sehr einfache String-/Mathematikoperationen.
Es ist möglich, die notwendigsten Funktionen selbst zu erstellen, unddas macht mir Spaß.
Aber ich würde es nicht zum Erstellen produktiver Skripte verwenden, da es wirklich schwierig ist, zuverlässige, wartungsfreundliche und absolut sichere Skripte zu erstellen (und ich weiß, wovon ich spreche).

Powershell hat einen komplett eigenen Syntaxstil, der mit keiner anderen Shell kompatibel ist.
Es basiert auf .NET-Objekten, die Befehle arbeiten mit Objekten statt mit Text.
Es ist viel leistungsfähiger als Batch, aber PowerShell ist wie alle neuen MicrosoftZukunftTools, ein totes Pferd.
Es wird noch ein paar Jahre existieren, bis Microsoft es durch das nächste ersetztZukunftWerkzeug.

Meiner Meinung nach lohnt es sich nicht, die Syntax zu lernen.

Persönlich verwende ich Git-Bash oder Cygwin für Windows. Aber die meiste Zeit arbeite ich mit Linux-Systemen, um produktiver zu sein.

verwandte Informationen