Mit PS txt lesen und teile der Zeile auf Existenz prüfen
Moin in die Runde,
ich habe folgendes vor und hoffe, dass ihr mir helfen könnt.
Ich möchte per Powershell eine txt-Datei auslesen und die darin vorkommenden Dateipfade überprüfen lassen, ob diese vorhanden sind.
Das File sieht so aus:
O ItemType Kram
O ImportTasks Duration
06:20:00 B 20
06:20:00 F Z:\Ordner1\Ordner2\Zeug\JNGL.mp3 "Angezeigter Name1" ""
06:20:00 F Z:\Ordner1\Ordner2\Zeug\M-186.mp3 "Alles ganz toll" "Firma XY"
06:20:00 F Z:\Ordner1\Ordner2\Zeug\K-36.mp3 "Wow mega" "Firma ZG"
06:30:00 B 30
06:30:00 F Z:\Ordner1\Ordner2\Zeug\JNGL.mp3 "Werbe-Kennung" "PRS"
06:30:00 F Z:\Ordner1\Ordner2\Zeug\M-296.mp3 "SL A" "Düdeldü"
Ziel soll es also sein, dass die PS die einzelnen Pfade nimmt und prüft, ob die Datei vorhanden ist.
ich habe folgendes vor und hoffe, dass ihr mir helfen könnt.
Ich möchte per Powershell eine txt-Datei auslesen und die darin vorkommenden Dateipfade überprüfen lassen, ob diese vorhanden sind.
Das File sieht so aus:
O ItemType Kram
O ImportTasks Duration
06:20:00 B 20
06:20:00 F Z:\Ordner1\Ordner2\Zeug\JNGL.mp3 "Angezeigter Name1" ""
06:20:00 F Z:\Ordner1\Ordner2\Zeug\M-186.mp3 "Alles ganz toll" "Firma XY"
06:20:00 F Z:\Ordner1\Ordner2\Zeug\K-36.mp3 "Wow mega" "Firma ZG"
06:30:00 B 30
06:30:00 F Z:\Ordner1\Ordner2\Zeug\JNGL.mp3 "Werbe-Kennung" "PRS"
06:30:00 F Z:\Ordner1\Ordner2\Zeug\M-296.mp3 "SL A" "Düdeldü"
Ziel soll es also sein, dass die PS die einzelnen Pfade nimmt und prüft, ob die Datei vorhanden ist.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3830414126
Url: https://administrator.de/contentid/3830414126
Ausgedruckt am: 19.11.2024 um 22:11 Uhr
3 Kommentare
Neuester Kommentar
Moin Moin, lieber Herr Gesangsverein.
Zeigt die Zeilennummern und den Pfad an für die die nicht existieren.
Cheers
certguy
$file = "f:\datei.txt"
Select-String $file -Pattern 'F\s+(.*?)\s+"' | ?{!(Test-Path $_.matches.Groups[1].Value)} | select Linenumber, @{n='Path';e={$_.matches.Groups[1].Value}}
Cheers
certguy
Zitat von @ElGotto:
Meinen verbindlichsten Dank
Eine kleine Zusatzfrage meinerseits. Ist es möglich nur den Namen des Files sich ausgeben zu lassen, also beispielsweise M-296.mp3 und das dann auch nur einmal, selbst wenn es doppelt vorkommt?
Meinen verbindlichsten Dank
Eine kleine Zusatzfrage meinerseits. Ist es möglich nur den Namen des Files sich ausgeben zu lassen, also beispielsweise M-296.mp3 und das dann auch nur einmal, selbst wenn es doppelt vorkommt?
Ja.
$file = "f:\datei.txt"
Select-String $file -Pattern 'F\s+(.*?)\s+"' | ?{!(Test-Path $_.matches.Groups[1].Value)} | %{split-path $_.matches.Groups[1].Value -Leaf} | select -Unique