-
Notifications
You must be signed in to change notification settings - Fork 0
/
5_Schleifen.ps1
38 lines (30 loc) · 1.09 KB
/
5_Schleifen.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<#
a: - Schreibe alle Dateinamen und ihre Dateigrösse des Verzeichnisses C:\Windows\System32 in ein Array
b: - Erstelle ein neues Array mit allen Files die grösser als 3MB sind. Speichere nur Dateinamen und Dateigrösse
c: - Loope durch alle laufenden Prozesse und beende die Schlaufe beim ersten Prozess der im Namen mit einem O beginnt.
Gebe den Namen des Prozesses und Anzahl Durchgänge auf der Konsole aus.
#>
# Aufgabe a
$directory = Get-ChildItem -Path C:\Windows\System32
$fileArray = @()
foreach ($file in $directory) {
$fileInfo = [PSCustomObject]@{
FileName = $file.Name
FileSize = $file.Length
}
$fileArray += $files
}
# Aufgabe b
$filteredFiles = $fileInfoArray | Where-Object { $_.FileSize -gt 3MB }
# Aufgabe c
$processCounter = 0
$targetProcessName = "O"
foreach ($process in Get-Process) {
$processCounter++
if ($process.ProcessName -like "*$targetProcessName*") {
Write-Host $targetProcessName $processCounter
break
}
}
Write-Host $fileArray | Format-Table -AutoSize
Write-Host $filteredFiles | Format-Table -AutoSize