Wenn der Dateiname ... heißt soll das Script... machen?
Hi Leute,
ich möchte gerne in einen Ordner nach .txt Dateien suchen. Wenn es welche gibt die entweder MOVE_FROM.txt oder DELETED.txt heißen, dann sollen die ... machen. (Das ... schreibe ich noch selber) Ich habe jetzt das Problem, dass ich nicht weiß wie ich in ein Zielordner nach unbekannten .txt Dateien suche.
Die Sprache ist Powershell
das ist mein 1. Versuch D: und ich weiß nicht weiter.
#Text Datei wird gesucht
$textdatei = $Vorlagekurz + *.txt
switch (get-content -Path $textdatei)
{
MOVE_FROM.txt {}
DELETED.txt {}
}
default;
1 Antwort
Dateien/Ordner ermittelt man mit Get-ChildItem.
Get-ChildItem|Format-List * #mal alle Properties der Dateien/Ordner anzeigen
mit ForEach-Object verarbeitet man die Objecte in der Pipeline.
mt dem switch-statment default behandelt man alle, wofür es keine spezielle festlegung gibt:
demo.ps1
$SerchFolder='C:\Users\Erzesel Secure\Desktop\test1' #hier deinen ordner angeben
# alle *.txt dateien im Ordner ermitteln
Get-ChildItem -Path $SerchFolder -Filter '*.txt' -File|
ForEach-Object { #mach für jedes in $_ übergebene Object...
#sind ohnehin alles .txt-Dateien, ergo genübt der BaseName der Datei zur Unterscheidung für die switch-Anweisung
Write-Host "der BaseName der aktuellen Datei ist: $($_.BaseName)" -Fo yellow
switch ($_.BaseName) {
'MOVE_FROM' {Write-Host "hier das was bei MOVE_FROM gemacht werden soll" -fo blue;break}
'DELETED' {Write-Host "hier das was bei DELETED gemacht werden soll" -fo blue;break}
default {Write-Host "hier das was bei nicht definierten Switches gemacht werden soll" -fo red;break}
}
}
pause