I need to change a Property file with a PowerShell script.
The line in the property file looks like this:
max.tree.children.threshold="Here is a number which I can't know"
So my script reads the file and finds this line but I can't say that he should overwrite this number because I don't know the number?
Can I set a variable where you don't know what's in there?
ForEach($Datei in Get-ChildItem $test1) {
# Get-Content liest eine Texdatei Zeile für Zeile ein
# in der Variablen $Zeilen steht deshalb eine Liste von Zeilen (Array)
$Zeilen = Get-Content -Path $Datei.Fullname
# Die Datei befindet sich nun Komplett im Speicher (in der Variablen $Zeilen)
# deshalb können wir die Datei überschreiben
# Zeilen Zähler, wird nur gebraucht um die erste Zeile zu erkennen
$ZeilenZähler = 1
# jede Zeile abarbeiten
foreach($Zeile in $Zeilen)
{
# Hier findet meine Dateiveränderung statt.
# Beispiel: Alle Buchstaben 'a' durch den Buchstaben 'o' ersetzen
$Zeile = $Zeile -replace "max.tree.children.threshold="Dont know whats here!"","max.tree.children.threshold=300"
#Veränderte Zeile anzeigen lassen
Write-Host "Geänderte Zeile in Datei $($Datei.Fullname)"
Write-Host $Zeile
# Nur bei der ersten Zeile wird die Alte Datei ("leer") neu angelegt (überschrieben)!
If($ZeilenZähler -eq 1 ) {
Out-File -FilePath $Datei.Fullname -InputObject $Zeile -Force
}
Else {
# jede weitere Zeile an die neue erstellte Datei anhängen (Parameter Append)
Out-File -FilePath $Datei.Fullname -InputObject $Zeile -Force -Append
}
# Zeilenzähler hochsetzen
$ZeilenZähler++
}
}