# M122 - Übungen ## Dateien und Verzeichnisse anlegen Ich habe den Bedarf, für alle Lernenden einer Klasse dieselben Dateien zur Verfügung zu stellen. Es gibt mehrere Klassen. Die Lernenden bekommen alle ein eigenes Verzeichnisse. Und jede Klasse bekommt ein Verzeichnis. In diesem Klassen- Verzeichnis sind dann die Lernenden-Verzeichnisse gesammelt. In jedem dieser Lernenden-Verzeichnisse werden dann die gewünschten Dateien zur Verfügung gestellt. Ich bereite mich so vor, dass ich eine Liste mit allen Namen aller Lernenden habe. Diese mache ich dann ein eine Datei. Diese Datei bekommt den Namen (die Abkürzung) der Klasse. Weiter werde ich ein Verzeichnis namens "_template" bereitstellen. Da drin werden dann alle Dateien hineingelegt, die allen Lernenden zur Verfügung gestellt werden sollen. Strategie (Programmablauf) Das automatisierte Skript muss jetzt den Dateinamen (vor dem Punkt) auslesen um damit das Grundverzeichnis anzulegen. Dann muss das Skrpt die Datei öffnen und alle Namenseinträge auslesen. Die Namen sind in einer Liste, die ich dann als "array" verwenden werde um mit jedem (Namens-)Eintrag erstens ein Verzeichnis zu erstellen und zweitens die Dateien aus dem Template dort hinein zu kopieren. Erstellen Sie als Ausgangslage folgende Dateien und Verzeichnisstruktur ./M122-AP22b.txt ./_template Datei-1.txt Datei-2.docx Datei-3.pdf Der Inhalt der M122-AP22b.txt Datei könnte so aussehen: Amherd Baume Berset Cassis Keller Parmelin Roesti Es soll nachher eine solche Struktur entstehen: ./M122-AP22b Amherd Datei-1.txt Datei-2.docx Datei-3.pdf Baume Datei-1.txt Datei-2.docx Datei-3.pdf Berset Datei-1.txt Datei-2.docx Datei-3.pdf usw. Erstellen Sie ein Skript, das diese Aufgabe erledigt.









Hier eine Lösung in **PowerShell**. Versuchen Sie alles in **bash** nachzumachen. Aber Achtung. Manche Dinge kann man oder muss man in **bash** anders machen. [./loesung-in-powershell/einstieg-prepareFiles-01.ps1](./loesung-in-powershell/einstieg-prepareFiles-01.ps1) [./loesung-in-powershell/einstieg-prepareFiles-02.ps1](./loesung-in-powershell/einstieg-prepareFiles-02.ps1) [./loesung-in-powershell/einstieg-prepareFiles-03.ps1](./loesung-in-powershell/einstieg-prepareFiles-03.ps1) [./loesung-in-powershell/einstieg-prepareFiles-04.ps1](./loesung-in-powershell/einstieg-prepareFiles-04.ps1) [./loesung-in-powershell/einstieg-prepareFiles-05.ps1](./loesung-in-powershell/einstieg-prepareFiles-05.ps1) [./loesung-in-powershell/einstieg-prepareFiles-06.ps1](./loesung-in-powershell/einstieg-prepareFiles-06.ps1) [./loesung-in-powershell/einstieg-prepareFiles-07.ps1](./loesung-in-powershell/einstieg-prepareFiles-07.ps1)