ralus67
Goto Top

Nur drittletzte Zeile aus einer Datei in eine neue Datei schreiben

Hallo Forenteilnehmer

Ich habe folgende Herausforderung

Ich habe eine Datei mit folgendem Inhalt


HKEY_CURRENT_USER\Volatile Environment
LOGONSERVER REG_SZ \\RSWS910
USERDOMAIN REG_SZ RSWS910
USERNAME REG_SZ bu
USERPROFILE REG_SZ C:\Users\bu
HOMEPATH REG_SZ \Users\bu
HOMEDRIVE REG_SZ C:
APPDATA REG_SZ C:\Users\bu\AppData\Roaming
LOCALAPPDATA REG_SZ C:\Users\bu\AppData\Local
USERDOMAIN_ROAMINGPROFILE REG_SZ RSWS910

HKEY_CURRENT_USER\Volatile Environment\17
SESSIONNAME REG_SZ RDP-Tcp#24
CLIENTNAME REG_SZ NB001-HP

Nun möchte ich aus dieser Datei genau diesen Schlüssel HKEY_CURRENT_USER\Volatile Environment\17 in eine neue Datei schreiben. Das Problem ist, dass sich die Zahl andauernd verändert. Also kann ich hier keinen Suchstring verwenden. Meine Idee wäre, dass ich vom Dateiende 3 Zeilen hoch gehe und die bestimmte Zeile in eine neue Datei reinschreibe.

Kann mir jemand sagen, wie das mit Hilfe eines Batch oder Powershell Scriptes möglich ist?

Vielen Dank im Voraus für Eure Hilfe

Content-ID: 381412

Url: https://administrator.de/forum/nur-drittletzte-zeile-aus-einer-datei-in-eine-neue-datei-schreiben-381412.html

Ausgedruckt am: 07.04.2025 um 21:04 Uhr

Kraemer
Kraemer 26.07.2018 um 16:46:17 Uhr
Goto Top
Moin,


Zitat von @Ralus67:
Nun möchte ich aus dieser Datei genau diesen Schlüssel HKEY_CURRENT_USER\Volatile Environment\17 in eine neue Datei schreiben. Das Problem ist, dass sich die Zahl andauernd verändert. Also kann ich hier keinen Suchstring verwenden.

doch, kannst du. Nennt sich RegEx

Gruß
Lochkartenstanzer
Lochkartenstanzer 26.07.2018 aktualisiert um 22:24:06 Uhr
Goto Top
Zitat von @Ralus67:

Meine Idee wäre, dass ich vom Dateiende 3 Zeilen hoch gehe und die bestimmte Zeile in eine neue Datei reinschreibe.

Kann mir jemand sagen, wie das mit Hilfe eines Batch oder Powershell Scriptes möglich ist?

Mit head und tail geht das so:

tail -n3 datei.txt | head -n1 >drittletzte-zeile.txt

lks

PS: gc datei.txt | select -last 3 | select -first 1
colinardo
colinardo 26.07.2018 aktualisiert um 17:21:08 Uhr
Goto Top
Also kann ich hier keinen Suchstring verwenden
Blödsinn face-smile

Powershell
(gc 'c:\datei.txt') -match 'Volatile Environment\\\d+' | sc 'c:\datei_neu.txt'  
Batch
>"C:\datei_neu.txt (findstr /ic:"Volatile Environment" "c:\datei.txt" 2>nul)  

Grüße Uwe
Ralus67
Ralus67 26.07.2018 um 17:26:49 Uhr
Goto Top
Könntest du mir dabei weiterhelfen?

Wie der Befehl genau aussehen bei HKEY_CURRENT_USER\Volatile Environment\17 ? Das nächste Mal könnte der Sting HKEY_CURRENT_USER\Volatile Environment\25 oder nur 1 lauten etc.

Grus
colinardo
colinardo 26.07.2018 aktualisiert um 17:40:15 Uhr
Goto Top
S.o.
colinardo
colinardo 28.07.2018 um 10:58:46 Uhr
Goto Top
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen, und Lösungen markieren. Merci.