Ich versuche, ein PowerShell-Skript zusammenzustellen, um txt-Protokolldateien auszuführen und Domänennamen/URLs zu entfernen.Versuchen, Zeichenfolgen in einer Datei zu ersetzen, aber es ersetzt zu viel
Bis jetzt mache ich nur einen Fund ersetzen auf den Dateien, aber wenn ich es versuche, funktioniert es nicht so, wie ich z.
wenn ich eine Textdatei enthält:
intranet.contoso.com und einen Text
nach meinem Skript läuft mit DOMAIN1 ersetzen intranet.contoso.com das löschte ich würde erhalten ist
DOMAIN1 DOMAIN1aDOMAIN1nDOMAIN1dDOMAIN1 DOMAIN1sDOMAIN1oDOMAIN1mDOMAIN1eDOMAIN1 DOMAIN1tDOMAIN1eDOMAIN1xDOMAIN1tDOMAIN1
Also ich bin mir nicht sicher, wo ich falsch liege. Mein Code bisher
$domains = ,("mydomain.net","mydomain"),("yourdomain.net","yourdomain"),("mydomain2.net","mydomain2")
$path = Read-Host "Please enter the full path to the directory containing the files to be sanatized"
$files = Get-ChildItem –Path $path *.txt
foreach ($file in $files)
{
for($x=0; $x -lt $domains.Count; $x++)
{
(Get-Content $file.PSPath) |
Foreach-Object { $_ -replace $domains[$x][0], "DOMAIN$($x+1)" } |
Set-Content $file.PSPath
(Get-Content $file.PSPath) |
Foreach-Object { $_ -replace $domains[$x][1], "DOMAIN$($x+1)" } |
Set-Content $file.PSPath
}
}
Ich bin ziemlich neu in Powershell, das hat mir in mehr als einer Hinsicht geholfen! Prost!! – user1865044