Gruppenmitglieder
- Emilian Meier(Projektleiter)
- Tobias Wiget
- German Bugaev
- Tobin Pinto
Projektbeschrieb
Nach Rücksprache in unserer Gruppe setzten wir ein kleines Automatisierungsprojekt mit PowerShell um: Ein Skript, das Dateien vom Desktop, die älter als 2 Tage sind, automatisch in alphabetisch sortierte Ordner im Dokumente-Verzeichnis verschiebt. Die Ordner werden bei Bedarf erstellt, die Sortierung erfolgt nach dem Anfangsbuchstaben des Dateinamens. Das Skript ist übersichtlich, leicht anpassbar (z. B. Zeitspanne variabel) und zuverlässig. So vertieften wir unser PowerShell-Wissen und entwickelten ein praktisches Tool zur automatisierten Dateiverwaltung.
Positive Erfahrungen
Wir haben viele gute Erfahrungen gemacht, wie zum Beispiel, dass wir sehr schnell vorangekommen sind und wir nur kleine Probleme mit dem Skript hatten. Auch in unserem Team hatten wir keine Auseinandersetzungen, Konflikte oder grosse Meinungsverschiedenheiten. Solche Sachen motivierten uns jeden Mittwoch am Projekt weiterzuarbeiten und uns viel Mühe zu geben, auch wenn wir nicht in der geplanten Zeit fertig geworden sind.
Negative Erfahrungen
Wir hatten nicht viele schlechte Erfahrungen gemacht. Das Einzige, was man besser hätte machen können, wäre, dass wir von Anfang an mehr Zeit einplanen hätten sollen.
Verbesserungsmöglichkeiten
Wir hätten das Problem mit der Zeit verhindern können, indem wir uns von Anfang an mehr Gedanken zum Zeitmanagement gemacht hätten.
Code
# Parameter
$desktopPath = [Environment]::GetFolderPath(“Desktop”)
$documentsPath = [Environment]::GetFolderPath(“MyDocuments”)
$archiveRoot = “$documentsPath\Archiv”
# Zeitlimit in Sekunden (hier: 30 Sekunden)
$maxAgeSeconds = 30
# Stelle sicher, dass das Archivverzeichnis existiert
if (-not (Test-Path $archiveRoot)) {
New-Item -Path $archiveRoot -ItemType Directory | Out-Null
}
# Aktuelles Datum
$now = Get-Date
# Hole alle Dateien auf dem Desktop (ohne Unterordner)
Get-ChildItem -Path $desktopPath -File | ForEach-Object {
$file = $_
$age = ($now – $file.LastWriteTime).TotalSeconds
# Prüfe, ob Datei alt genug ist
if ($age -ge $maxAgeSeconds) {
# Bestimme ersten Buchstaben (Großbuchstabe), Standardordner ‘Sonstige’ bei Sonderzeichen/Zahlen
$firstChar = $file.BaseName.Substring(0,1).ToUpper()
if ($firstChar -notmatch ‘[A-Z]’) {
$firstChar = “Sonstige”
}
$targetFolder = Join-Path $archiveRoot $firstChar
# Zielordner erstellen, falls er nicht existiert
if (-not (Test-Path $targetFolder)) {
New-Item -Path $targetFolder -ItemType Directory | Out-Null
}
# Verschiebe die Datei
$targetPath = Join-Path $targetFolder $file.Name
Move-Item -Path $file.FullName -Destination $targetPath -Force
}
}

Neueste Kommentare