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-Key: 381412

Url: https://administrator.de/contentid/381412

Printed on: April 26, 2024 at 02:04 o'clock

Member: Kraemer
Kraemer Jul 26, 2018 at 14:46:17 (UTC)
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ß
Member: Lochkartenstanzer
Lochkartenstanzer Jul 26, 2018 updated at 20:24:06 (UTC)
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
Member: colinardo
colinardo Jul 26, 2018 updated at 15:21:08 (UTC)
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
Member: Ralus67
Ralus67 Jul 26, 2018 at 15:26:49 (UTC)
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
Member: colinardo
colinardo Jul 26, 2018 updated at 15:40:15 (UTC)
Goto Top
S.o.
Member: colinardo
colinardo Jul 28, 2018 at 08:58:46 (UTC)
Goto Top
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen, und Lösungen markieren. Merci.