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, 1629 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 ..
Ähnliche Inhalte
Windows Server
Druckereigenschaften - Modell und Hersteller editieren (6)

Frage von manuel-r zum Thema Windows Server ...

Exchange Server
Wo im Ressourcen Kalender das Beschreibungsfeld editieren?!

Frage von Hellvis zum Thema Exchange Server ...

Windows 10
gelöst Startmenü .xml editieren bitte um Hilfe (6)

Frage von markaurel zum Thema Windows 10 ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

Windows 7
Bluesreens unternehmensweit (19)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
IP Adressen - Modem - Switch - Accesspoint (17)

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

Windows 10
Programm Installation bei Win 10 Fehlerhaft (13)

Frage von Keineahnungvonnix zum Thema Windows 10 ...