Textfile per Batch editieren
Moin!
Ich würde gerne ein Textfile automatisiert editieren lassen.
Ich lasse per tree die Verzeichnisstruktur mehrerer verschiedener Ordner, sowie dessen Inhalte, in ein Textdokument schreiben.
Zunächst bin ich hier über eine Batch gegangen, doch hier wurden die Umlaute nicht richtig wiedergegeben. Der Optik wegen und um es einfach vernünftig zu haben, wird das inzwischen über powershell erledigt, wodurch dieses Problem nun der Vergangenheit angehört.
Nun stören mich aber noch unnötige Textzeilen, welche immer gleich lauten. Zum Beispiel der Hinweis, dass es keine weiteren Unterordner gäbe. Oder dass nun die Auflistung der Festplatte mit der Seriennummer xy kommen wird.
Das ist einfach unnötig und ein wenig störend. Drum frage ich mich, ob man sowas eventuell editieren könnte? Quasi suchen und ersetzen oder so?
Besten Dank schon einmal!
Ich würde gerne ein Textfile automatisiert editieren lassen.
Ich lasse per tree die Verzeichnisstruktur mehrerer verschiedener Ordner, sowie dessen Inhalte, in ein Textdokument schreiben.
Zunächst bin ich hier über eine Batch gegangen, doch hier wurden die Umlaute nicht richtig wiedergegeben. Der Optik wegen und um es einfach vernünftig zu haben, wird das inzwischen über powershell erledigt, wodurch dieses Problem nun der Vergangenheit angehört.
Nun stören mich aber noch unnötige Textzeilen, welche immer gleich lauten. Zum Beispiel der Hinweis, dass es keine weiteren Unterordner gäbe. Oder dass nun die Auflistung der Festplatte mit der Seriennummer xy kommen wird.
Das ist einfach unnötig und ein wenig störend. Drum frage ich mich, ob man sowas eventuell editieren könnte? Quasi suchen und ersetzen oder so?
Besten Dank schon einmal!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 213958
Url: https://administrator.de/contentid/213958
Ausgedruckt am: 26.11.2024 um 08:11 Uhr
10 Kommentare
Neuester Kommentar
Alternativ wenn du bestimmte Zeilen ganz rauslöschen willst kannst du dies so machen:
(Den Inhalt der unerwünschten Zeile legst du in Zeile 5 des Scripts fest [ mit Wildcard-Support])
(Den Inhalt der unerwünschten Zeile legst du in Zeile 5 des Scripts fest [ mit Wildcard-Support])
$filename = "C:\deinFile.txt"
$f = gc $filename
$newContent = ""
foreach ($zeile in $f){
if ($zeile -notlike "*Verzeichnis: *"){
$newContent += "$zeile `r`n"
}
}
$newContent
set-content -Path $filename -Value $newContent
Den Beitrag bitte noch als markieren. Danke.
Hallo Colinardo,
ich habe dein Script ein wenig für meine Zwecke angepasst und komme nicht weiter:
$filename = "D:\TEST.TXT"
$filenameNew = "D:\TEST1.TXT"
$f = gc $filename
$newContent = ""
foreach ($zeile in $f){
if ($zeile -like "T*"){
$newContent += "$zeile`n`r"
}
}
$newContent
set-content -Path $filenameNew -Value $newContent
In der neuen Datei TEST1.TXT stehen alle Zeilen die mit T* beginnen. Nur leider alle in einer Zeile. Der Line break `n scheint nicht zu klappen.
Allerdings, wenn ich das Script im PowerShell Editor ausführe wird mir das Ergbnis richtig angezeigt (mit LB) aber in der TXT Datei fehlt er.
Hast du eine Idee?
Gruß
Daniel
ich habe dein Script ein wenig für meine Zwecke angepasst und komme nicht weiter:
$filename = "D:\TEST.TXT"
$filenameNew = "D:\TEST1.TXT"
$f = gc $filename
$newContent = ""
foreach ($zeile in $f){
if ($zeile -like "T*"){
$newContent += "$zeile`n`r"
}
}
$newContent
set-content -Path $filenameNew -Value $newContent
In der neuen Datei TEST1.TXT stehen alle Zeilen die mit T* beginnen. Nur leider alle in einer Zeile. Der Line break `n scheint nicht zu klappen.
Allerdings, wenn ich das Script im PowerShell Editor ausführe wird mir das Ergbnis richtig angezeigt (mit LB) aber in der TXT Datei fehlt er.
Hast du eine Idee?
Gruß
Daniel