aktuelle.kurse/m122/uebungs-aufgaben/verzeichnisse-und-dateien-anlegen/README.md

78 lines
2.4 KiB
Markdown
Raw Normal View History

2023-02-06 22:28:07 +01:00
# M122 - Aufgabe
2023-01-20 18:29:45 +01:00
## Dateien und Verzeichnisse anlegen
2023-02-06 22:28:07 +01:00
Als Lehrer habe den Bedarf, für alle Lernenden einer Klasse
dieselben Dateien zur Verfügung zu stellen.
2023-01-20 18:29:45 +01:00
2023-02-06 22:28:07 +01:00
Es gibt mehrere Klassen. Jede Klasse bekommt ein Verzeichnis.
Alle Lernenden bekommen alle ein eigenes Verzeichniss in der
'eigenen' Klasse. Und in jedem Lernenden-Verzeichnis sollen
die gleichen Dateien zur Verfügung gestellt werden.
2023-01-20 18:29:45 +01:00
2023-02-06 22:28:07 +01:00
### Gesucht
Es soll nachher eine solche Struktur entstehen:
2023-01-20 18:29:45 +01:00
2023-02-06 22:28:07 +01:00
./M122-AP22b
Amherd
Datei-1.txt
Datei-2.docx
Datei-3.pdf
Baume-Schneider
2023-01-20 18:29:45 +01:00
Datei-1.txt
Datei-2.docx
Datei-3.pdf
2023-02-06 22:28:07 +01:00
Berset
Datei-1.txt
Datei-2.docx
Datei-3.pdf
usw.
2023-01-20 18:29:45 +01:00
2023-02-06 22:28:07 +01:00
### Vorbereitung
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.
./M122-AP22b.txt
2023-01-20 18:29:45 +01:00
Der Inhalt der M122-AP22b.txt Datei könnte so aussehen:
2023-02-06 22:28:07 +01:00
Amherd
Baume-Schneider
Berset
Cassis
Keller-Sutter
Parmelin
Roesti
2023-01-20 18:29:45 +01:00
2023-02-06 22:28:07 +01:00
### Mögliche Strategie für den Programmablauf
2023-01-20 18:29:45 +01:00
2023-02-06 22:28:07 +01:00
Versuchen Sie alles in **bash** nachzumachen.
Aber Achtung. Manche Dinge kann man oder muss
man in **bash** anders machen. Wenn Sie ganz
gefitzt sind, werden Sie auch noch eine
einfachere und schnellere Lösung finden.
2023-01-20 18:29:45 +01:00
2023-02-06 22:28:07 +01:00
**Beispiel-Lösung in PS**
Das automatisierte Skript muss jetzt den Dateinamen (vor dem Punkt)
auslesen um damit das Grundverzeichnis anzulegen. Dann muss das
Skript die Datei öffnen und alle Namenseinträge lesen. 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.
2023-01-20 18:29:45 +01:00
2023-01-20 18:36:17 +01:00
- [./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)