sokratonis
Goto Top

PS - Textdatei lesen - bestimmten Inhalt in Dateinamen schreiben

Hallo,

ich bräuchte mal Eure Hilfe zu folgendem Sachverhalt:

Eine Datei wird von meinem Programm mit Datum und Zeitstempel als .txt-Datei ausgegeben (Beispiel: 2411-20191216-1124.txt).
Ich möchte nun, dass automatisch (per Script oder Programm) die Datei durchsucht wird (Beispiel: Vertragsnr+00001).
Die Nummer 00001 soll nun automatisch, zusätzlich, in den Dateinamen geschrieben werden (Beispiel: 00001-2411-20191216-1124.txt).
Die originale Datei kann:
a) umbenannt werden
b) gelöscht und eine neue erstellt werden

Mir ist dazu erstmal nichts eingefallen, aber sicherlich gibts hier jemanden der mir helfen kann face-smile.

Content-Key: 526173

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

Printed on: May 7, 2024 at 13:05 o'clock

Member: Kraemer
Solution Kraemer Dec 16, 2019 at 15:00:48 (UTC)
Goto Top
Moin,

dazu brauchst du
get-content (kennst du schon)
nen RegEx
und ein Rename-Item

Gruß
Mitglied: 142232
Solution 142232 Dec 16, 2019 updated at 15:43:13 (UTC)
Goto Top
Beispiel: Vertragsnr+00001
Das sagt erst mal nicht viel, steht das da genau so da oder besteht der String "Vertragsnr" auch aus Zahlen, steht da das "+" auch so oder soll das nur hier als Verbinder fungieren??
Wie @Kraemer schon sagt regex und Rename-Item, alles in allem ein Einzeiler, aber wie gesagt Regex muss entsprechend an die Gegebenheiten angepasst werden:
Get-ChildItem 'F:\Files' -File -Filter *.txt | ?{(Get-Content $_.Fullname -raw) -match 'Vertragsnr\+(\d+)'} | rename-item -NewName {"$($matches[1])_$($_.Name)"} -Verbose  
Der Regex hier sucht nur nach dem ersten Auftauchen vom String "Vertragsnr mit einem nachfolgenden "+" und dahinter alle folgenden Zahlen, welche extrahiert werden.
Member: nettworker
nettworker Dec 16, 2019 at 18:49:48 (UTC)
Goto Top
Also ganz ehrlich, das wäre mir für ein Shell Script alles zu unsicher.
Für sowas würde ich mir mit .Net oder ähnlichen Programmiertools eine kleine Anwendung schreiben. Wenns da um Vertragsnummern geht sind das ja scheinbar sensible / wichtige Daten.
Sowas gehört in eine Datenbank mit entsprechenden Logfiles / Backups etc.
Member: Kraemer
Kraemer Dec 16, 2019 at 21:15:52 (UTC)
Goto Top
Also ganz ehrlich, Äpfel und Birnen.
Member: sokraTonis
sokraTonis Dec 20, 2019 updated at 10:48:28 (UTC)
Goto Top
Hallo nettworker,

danke für deinen Hinweis. Es handelte sich bei den Vertragsnummern aber tatsächlich nur um ein Beispiel. Die Information die wirklich extrahiert werden sind keineswegs sensibel.

Danke an Kraemer und serial, das Thema ist dank Eurer Hilfe geklärt.