Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Textfile per Batch editieren

Frage Entwicklung Batch & Shell

Mitglied: mymomo

mymomo (Level 1) - Jetzt verbinden

10.08.2013 um 09:43 Uhr, 1613 Aufrufe, 10 Kommentare, 1 Danke

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!
Mitglied: colinardo
10.08.2013, aktualisiert um 10:00 Uhr
Hi mymomo,
warum machst du das nicht gleich mit powershell wenn du sowieso schon damit arbeitest.
Beispiel:
01.
$newFileContent = get-content C:\deinFile.txt | %{$_.Replace("String der zu ersetzen ist","Ersetzungsstring")} 
02.
set-content C:\deinfile.txt -Value $newFileContent
Grüße Uwe
Bitte warten ..
Mitglied: mymomo
10.08.2013 um 10:09 Uhr
weil ich nicht wusste das powershell das kann^^... nochmals besten Dank an Dich ;o). Werde ich gleich mal testen.
Bitte warten ..
Mitglied: colinardo
10.08.2013, aktualisiert um 13:35 Uhr
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])
01.
$filename = "C:\deinFile.txt" 
02.
$f = gc $filename 
03.
$newContent = "" 
04.
foreach ($zeile in $f){ 
05.
    if ($zeile -notlike "*Verzeichnis: *"){ 
06.
        $newContent += "$zeile `r`n" 
07.
08.
09.
$newContent 
10.
set-content -Path $filename -Value $newContent
Bitte warten ..
Mitglied: mymomo
10.08.2013, aktualisiert um 13:23 Uhr
ich bekomm es net hin *mpfh* :o(

möchte es ungern vorgekaut bekommen, zumal du die arbeit ja schon fast allein gemacht hast, aber selbst die anpassung bekomm ich nicht hin :o(.

mein pfad sieht wie folgt aus:
D:\_TEMP\_test

die textdatei die angepasst werden soll heißt:
test.txt

der inhalt der gelöscht werden soll heißt:
Volumeseriennummer : 00007FFF 22E1:5C6E

kannst mir nochma helfen?^^
Bitte warten ..
Mitglied: colinardo
10.08.2013, aktualisiert um 13:34 Uhr
01.
$filename = "D:\_TEMP\_test\test.txt" 
02.
$f = gc $filename 
03.
$newContent = "" 
04.
foreach ($zeile in $f){ 
05.
    if ($zeile -notlike '*Volumeseriennummer : *'){ 
06.
        $newContent += "$zeile `r`n" 
07.
08.
09.
set-content -Path $filename -Value $newContent
Bitte warten ..
Mitglied: mymomo
10.08.2013 um 14:55 Uhr
mh... ok, so hatte ich es eigentlich auch schon... wahrscheinlich habe ich irgendwo nen " oder ' verschluckt... dachte schon ich wäre ganz dämlich...
nu klappts... und NOCHMALS besten dank ;o)
Bitte warten ..
Mitglied: colinardo
10.08.2013 um 18:56 Uhr
Den Beitrag bitte noch als markieren. Danke.
Bitte warten ..
Mitglied: sgdk2009
14.08.2013 um 12:46 Uhr
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
Bitte warten ..
Mitglied: colinardo
14.08.2013 um 12:49 Uhr
Der Linebreak muss die richtige Reihenfolge haben:
`r`n
Grüße Uwe
Bitte warten ..
Mitglied: sgdk2009
14.08.2013 um 12:53 Uhr
Oh man. Jetzt klappt's.
Danke für die wirklich schnelle Hilfe.

Gruß
Daniel
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (11)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...