Created by
Ettar
| #Scannt den Ordner und alle Unterordner nach Dateien mit der Endung "*.conf". Erzeugt außerdem bei Bedarf die Textdatei.
#$path: Der Pfad zu dem Ordner mit den Configdateien
#$fileTxt: Der Pfad mit Namen der Textdatei in welche reingeschrieben werden soll. Wichtig: Die Endung nicht vergessen (z.B. "C:\test.txt")
function main{
$path = ""
$fileTxt = ""
if(!(Test-Path $fileTxt)) {
New-Item -Path $fileTxt -ItemType File
} else{
$neu = Read-Host "Soll die Datei neu erstellt werden (j/n)?"
if($neu -eq "j"){
Remove-Item -Path $fileTxt
New-Item -Path $fileTxt -ItemType File
}
}
$files = Get-ChildItem -Path $path -Recurse | where{$_.Name -like "*.conf"}
foreach($file in $files) {
$i = 0
$temp = Get-Content $file.FullName
foreach($row in $temp) {
$i++;
if($i -eq 17) {
wr -r $row -file $fileTxt
} elseif($i -eq 18) {
wr -r $row -file $fileTxt
break
}
}
}
}
#Dient zum Auswerten der Daten und zum Schreiben in die Textdatei
function wr($r,$file){
$r = $r.split("=")
$out = ""
foreach($p in $r) {
$b = $p.split(" ")
foreach($l in $b) {
if($l -like '"'+"*"+'"'){
$l = $l.substring(1)
$l = $l.substring(0,$l.length-1)
if($out -eq ""){
$out = $l
} else {
$out += ":"+$l
}
}
}
}
Add-Content -Path $file -Value $out
}
main
|