PowerShell Grundlagen

Dateimanipulation

Nun, da wir jetzt im Dateisystem uns bewegen können, wir es Zeit Ordner und Dateien anzulegen und diese zu manipulieren. Dies wird ein längerer Abschnitt, deshalb hier die Schnellnavigation. Unten rechts ist ein grüner Pfeil, wenn man wieder nach oben zu der Auswahl möchte.


Ordner erstellen

mkdir

Um einen Ordner zu erstellen, nutzen wir das Kommando mkdir. Es können auch mehrere Ordner oder auch Unterordner auf einmal erstellt werden.

Wofür steht mkdir? Die Abkürzung mkdir steht für "Make Directory", auf Deutsch: Erstelle ein Verzeichnis bzw. einen Ordner.
PS C:\> mkdir MeinOrdner


    Verzeichnis: C:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     12:56                MeinOrdner

Mit dir oder ls können wir überprüfen, ob der Ordner wirklich erstellt wurde.

PS C:\> dir


    Verzeichnis: C:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     12:56                MeinOrdner
d-----        07.12.2019     10:14                PerfLogs
d-r---        03.10.2020     21:12                Program Files
d-r---        03.10.2020     20:49                Program Files (x86)
d-r---        25.09.2020     19:30                Users
d-----        15.11.2020     18:41                Windows
d-----        19.11.2020     16:04                xampp

Der Ordner wurde also erstellt. Perfekt! Nun wechseln wir in den Ordner und erstellen gleichzeitig einen Unterordner im Unterordner.

PS C:\> cd MeinOrdner
PS C:\MeinOrdner> mkdir UnterOrdner\UnterUnterOrdner


    Verzeichnis: C:\MeinOrdner\UnterOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     13:14                UnterUnterOrdner


PS C:\MeinOrdner> dir


    Verzeichnis: C:\MeinOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     13:14                UnterOrdner


PS C:\MeinOrdner> cd .\UnterOrdner\
PS C:\MeinOrdner\UnterOrdner> dir


    Verzeichnis: C:\MeinOrdner\UnterOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     13:14                UnterUnterOrdner


PS C:\MeinOrdner\UnterOrdner> cd .\UnterUnterOrdner\
PS C:\MeinOrdner\UnterOrdner\UnterUnterOrdner

Wer aufgepasst hat, wir bemerkt haben, dass beim letzten Kommando nicht cd UnterUnterOrdner verwendet wurde, sondern cd .\UnterUnterOrdner! Das hat damit zu tun, dass ich nur cd U eingegeben und dann TAB gedrückt habe. Der komplette Pfad wurde dadurch automatisch vervollständigt. Ist das nicht cool?

WICHTIG! Wer sich das Leben schwer machen will, verwendet TAB nie, alle anderen nutzen TAB bei jeder Gelegenheit! Dieses smarte Feature von PowerShell nennt sich IntelliSense!

Ordner löschen

rmdir

Wenn wir einen Ordner nicht mehr brauchen, können wir diesen mit rmdir löschen. Dies funktioniert ohne Zwischenbestätigung, ausser wenn der Ordner nicht leer ist. Dann wird nachgefragt, ob wirklich der Ordner mit dem gesamten Inhalt gelöscht werden soll.

Wofür steht rmdir? Die Abkürzung von rmdir steht für "Remove Directory", auf Deutsch: Verzeichnis bzw. Ordner entfernen, was löschen bedeutet.
PS C:\MeinOrdner\UnterOrdner> ls


    Verzeichnis: C:\MeinOrdner\UnterOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     13:14                UnterUnterOrdner


PS C:\MeinOrdner\UnterOrdner> rmdir .\UnterUnterOrdner\
PS C:\MeinOrdner\UnterOrdner> dir
PS C:\MeinOrdner\UnterOrdner> cd ..
PS C:\MeinOrdner> ls


    Verzeichnis: C:\MeinOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     13:59                UnterOrdner


PS C:\MeinOrdner> cd ..
PS C:\> dir


    Verzeichnis: C:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     13:14                MeinOrdner
d-----        07.12.2019     10:14                PerfLogs
d-r---        03.10.2020     21:12                Program Files
d-r---        03.10.2020     20:49                Program Files (x86)
d-r---        25.09.2020     19:30                Users
d-----        15.11.2020     18:41                Windows
d-----        19.11.2020     16:04                xampp


PS C:\> rmdir .\MeinOrdner\

Bestätigung
Das Element unter "C:\MeinOrdner\" verfügt über untergeordnete Elemente, und der Recurse-Parameter wurde nicht
angegeben. Wenn Sie fortfahren, werden mit dem Element auch alle untergeordneten Elemente entfernt. Möchten Sie den
Vorgang wirklich fortsetzen?
[J] Ja  [A] Ja, alle  [N] Nein  [K] Nein, keine  [H] Anhalten  [?] Hilfe (Standard ist "J"): J
PS C:\> dir


    Verzeichnis: C:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        07.12.2019     10:14                PerfLogs
d-r---        03.10.2020     21:12                Program Files
d-r---        03.10.2020     20:49                Program Files (x86)
d-r---        25.09.2020     19:30                Users
d-----        15.11.2020     18:41                Windows
d-----        19.11.2020     16:04                xampp


PS C:\>

Erweiterte Navigation

.\ ..\ ..\..\ ..\..\..\ usw.

Wir können auch direkt in einem Kommando mehrere Ordnerebenen herauf navigieren. Das aktuelle Verzeichnis ist .\ und eine Ebene herauf ist ..\ und zwei Ebenen herauf ist ..\..\ usw.

PS C:\> mkdir MeinOrdner\UnterOrdner\UnterUnterOrdner\UnterUnterUnterOdner


    Verzeichnis: C:\MeinOrdner\UnterOrdner\UnterUnterOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     14:18                UnterUnterUnterOdner


PS C:\> cd .\MeinOrdner\UnterOrdner\UnterUnterOrdner\UnterUnterUnterOdner\
PS C:\MeinOrdner\UnterOrdner\UnterUnterOrdner\UnterUnterUnterOdner> cd ..\..\
PS C:\MeinOrdner\UnterOrdner> dir


    Verzeichnis: C:\MeinOrdner\UnterOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     14:18                UnterUnterOrdner


PS C:\MeinOrdner\UnterOrdner> cd '..\..\MeinOrdner\'
PS C:\MeinOrdner> dir


    Verzeichnis: C:\MeinOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     14:18                UnterOrdner


PS C:\MeinOrdner>

Ordner Kopieren

cp

Wir können Ordner nicht nur erstellen und löschen, wir können sie auch kopieren. Bei Ordner mit Inhalt müssen wir den Parameter -r verwenden, um rekursiv auch den Inhalt ebenfalls zu kopieren.

Wofür steht cp? Die Abkürzung von cp steht für "Copy", auf Deutsch: Kopieren.
PS C:\MeinOrdner> dir


    Verzeichnis: C:\MeinOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     14:18                UnterOrdner


PS C:\MeinOrdner> cd ..
PS C:\> dir


    Verzeichnis: C:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     14:18                MeinOrdner
d-----        07.12.2019     10:14                PerfLogs
d-r---        03.10.2020     21:12                Program Files
d-r---        03.10.2020     20:49                Program Files (x86)
d-r---        25.09.2020     19:30                Users
d-----        15.11.2020     18:41                Windows
d-----        19.11.2020     16:04                xampp


PS C:\> cp -r .\MeinOrdner\ KopieVonMeinOrdner
PS C:\> dir


    Verzeichnis: C:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     14:29                KopieVonMeinOrdner
d-----        28.11.2020     14:18                MeinOrdner
d-----        07.12.2019     10:14                PerfLogs
d-r---        03.10.2020     21:12                Program Files
d-r---        03.10.2020     20:49                Program Files (x86)
d-r---        25.09.2020     19:30                Users
d-----        15.11.2020     18:41                Windows
d-----        19.11.2020     16:04                xampp


PS C:\>

Ordner und Dateien Verschieben

mv

Nun verschieben wir den Ordner MeinOrdner in KopieVonMeinOrdner.

Wofür steht mv? Die Abkürzung von mv steht für "Move", auf Deutsch: Bewegen oder Verschieben.
PS C:\> dir


    Verzeichnis: C:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     14:29                KopieVonMeinOrdner
d-----        28.11.2020     14:18                MeinOrdner
d-----        07.12.2019     10:14                PerfLogs
d-r---        03.10.2020     21:12                Program Files
d-r---        03.10.2020     20:49                Program Files (x86)
d-r---        25.09.2020     19:30                Users
d-----        15.11.2020     18:41                Windows
d-----        19.11.2020     16:04                xampp


PS C:\> mv .\MeinOrdner\ .\KopieVonMeinOrdner\
PS C:\> dir


    Verzeichnis: C:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     15:14                KopieVonMeinOrdner
d-----        07.12.2019     10:14                PerfLogs
d-r---        03.10.2020     21:12                Program Files
d-r---        03.10.2020     20:49                Program Files (x86)
d-r---        25.09.2020     19:30                Users
d-----        15.11.2020     18:41                Windows
d-----        19.11.2020     16:04                xampp


PS C:\> cd .\KopieVonMeinOrdner\
PS C:\KopieVonMeinOrdner> dir


    Verzeichnis: C:\KopieVonMeinOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     14:18                MeinOrdner


PS C:\KopieVonMeinOrdner>

Datei oder Ordner umbenennen

mv

Mit mv können wir Dateien nicht nur verschieben, sondern auch umbenennen. Dies wird folgendermassen erreicht. Wenn man beim zweiten Parameter statt einem Pfad einen neuen Namen eingibt, wird die Datei mit einem neuer Bezeichnung versehen.

PS C:\KopieVonMeinOrdner> ls


    Verzeichnis: C:\KopieVonMeinOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     15:20                COPY
d-----        28.11.2020     15:25                COPY-WITH-Inhalt
d-----        28.11.2020     14:18                MeinOrdner


PS C:\KopieVonMeinOrdner> cd ..
PS C:\> ls


    Verzeichnis: C:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     15:56                KopieVonMeinOrdner
d-----        07.12.2019     10:14                PerfLogs
d-r---        03.10.2020     21:12                Program Files
d-r---        03.10.2020     20:49                Program Files (x86)
d-r---        25.09.2020     19:30                Users
d-----        15.11.2020     18:41                Windows
d-----        19.11.2020     16:04                xampp


PS C:\> mv .\KopieVonMeinOrdner\ HauptOrdner
PS C:\> dir


    Verzeichnis: C:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     15:56                HauptOrdner
d-----        07.12.2019     10:14                PerfLogs
d-r---        03.10.2020     21:12                Program Files
d-r---        03.10.2020     20:49                Program Files (x86)
d-r---        25.09.2020     19:30                Users
d-----        15.11.2020     18:41                Windows
d-----        19.11.2020     16:04                xampp


PS C:\>

Textdatei erstellen

New-Item

Wenn wir eine Textdatei mit der PowerShell erstellen möchte, nutzen wir New-Item.

PS C:\KopieVonMeinOrdner> New-Item TextDatei.txt


    Verzeichnis: C:\KopieVonMeinOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        28.11.2020     15:51              0 TextDatei.txt


PS C:\KopieVonMeinOrdner> ls


    Verzeichnis: C:\KopieVonMeinOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     15:20                COPY
d-----        28.11.2020     15:25                COPY-WITH-Inhalt
d-----        28.11.2020     14:18                MeinOrdner
-a----        28.11.2020     15:51              0 TextDatei.txt


PS C:\KopieVonMeinOrdner>

Datei löschen

rm

Wenn wir die erstellte Datei nun wieder löschen möchten, verwenden wir nicht rmdir, wie für Ordner, sondern lediglich rm.

Wofür steht rm? Die Abkürzung von rm steht für "Remove", auf Deutsch: Entfernen oder Löschen.
PS C:\KopieVonMeinOrdner> ls


    Verzeichnis: C:\KopieVonMeinOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     15:20                COPY
d-----        28.11.2020     15:25                COPY-WITH-Inhalt
d-----        28.11.2020     14:18                MeinOrdner
-a----        28.11.2020     15:51              0 TextDatei.txt


PS C:\KopieVonMeinOrdner> rm .\TextDatei.txt
PS C:\KopieVonMeinOrdner> ls


    Verzeichnis: C:\KopieVonMeinOrdner


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     15:20                COPY
d-----        28.11.2020     15:25                COPY-WITH-Inhalt
d-----        28.11.2020     14:18                MeinOrdner


PS C:\KopieVonMeinOrdner>

Hilfe Herunterladen

Get-Help

Mit Get-Help kann man die Hilfe zu den Kommandos herunterladen. Diese helfen beim herausfinden für die Nutzung von Kommandos.

PS C:\> Get-Help

Möchten Sie Update-Help ausführen?
Das Update-Help-Cmdlet lädt die neuesten Hilfedateien für Windows PowerShell-Module herunter und installiert sie auf
dem Computer. Weitere Informationen zum Update-Help-Cmdlet finden Sie unter
"https:/go.microsoft.com/fwlink/?LinkId=210614".
[J] Ja  [N] Nein  [H] Anhalten  [?] Hilfe (Standard ist "J"): J

Den Bildschirm leeren

clear, cls oder Control-L

Mit den Kommandoes clear oder cls oder auch mit der Tastenkombination Ctrl-L lässt sich der Bildschirm wieder leeren. Dies dient nur zur visuellen Hilfe, die Kommandos sind immernoch vorhanden.

PS C:\> Get-Help
Wenn du bis hier durchgehalten hast, Respekt! Weiter so! Du kennst nun die wichtigsten Grundbefehle!