Hilfe bei Powershell

Flow133

Komplett-PC-Aufrüster(in)
Hallo zusammen,

ich möchte in einem Ordner sämtliche Subordner durchsuchen, welche die Datei xyz.txt hat. Diese Datei soll dann auf einen UNC-Pfad kontrolliert werden und wenn er nicht da ist ergänzt werden, anbei mein Powershell Skript.

Get-ChildItem "Pfad_mit_Unterordner" -Include xyz.txt -File -Recurse |

Where{!(Select-String -SimpleMatch "UNC-Pfad" -Path $_.fullname -Quiet)} |
ForEach{
$Path = $_.FullName
"UNC-Pfad",(Get-Content $Path)|Set-Content $Path

Das ganze funktioniert auch recht gut, leider wird der Eintrag immer in die erste Zeile der txt-Datei geschrieben, welche beim auslesen aber leider ignoriert wird. Wie bekomme ich Powershell dazu, den Eintrag erst in Zeile 2 zu schreiben?

Grüße Flow
 

Crujach

Komplett-PC-Aufrüster(in)
ich bin mir nicht ganz sicher, was du genau willst.
Also, so wie ich das verstehe:
- Du hast einen Ordner mit vielen Unterordnern, diese willst Du durchsuchen:
"Get-ChildItem -Path "E:\temp\ausprobieren\*" -Include xyz.txt -Recurse"

bei mir funktioniert "-File" nicht....

dann möchtest du die gefundenen Dateien durchsuchen?
Du suchst, ob in dieser Datei der UNC-Pfad vorhanden ist, richtig?
und wenn nicht, dann soll in xyz.txt dein UNC-Pfad reingeschrieben werden?
an eine Datei am Ende etwas anfügen wäre ja so etwas wie
"UNC-Pfad" | Out-File -FilePath C:\TestDir\xyz.txt -append

oder steht in xyz.txt schon irgendwas drin und du willst es genau in Zeile 2 "einfügen"? dann müsste man die xyz.txt Zeilenweise einlesen, in Zeile 2 den UNC-Pfad schreiben usw.
 
TE
TE
F

Flow133

Komplett-PC-Aufrüster(in)
im Prinzip würde beide Wege für mich funktionieren.
"UNC-Pfad" | Out-File -FilePath C:\TestDir\xyz.txt -append würde für mich fast funktionieren, allerdings bräuchte ich für den Eintrag eine neue Zeile (wird im Moment an die letze Zeile angehängt), außerdem erscheint der Eintrag in dem Muster " \ \ U N C - P f a d \ b l a b l a "
Gibt es hier noch eine Möglichkeit die Leerzeichen zu entfernen?
 
Oben Unten