powle1212
Goto Top

Text-Transfer zwischen zwei TXT-Dateien (Powershell)

Hallo liebe Community,

ich bin noch in den Anfängen von Powershell und wollte fragen ob ihr mir bei dem nachfolgenden Problem weiterhelfen könnt.

Innerhalb einer Datei (z.B. Datei1.txt) sind verschiedene Aufgaben den Kalenderwochen des Jahres zugeordnet. Die Kalenderwochen sind untereinander (jeweils in einer Zeile) chronologisch sortiert:

Kalenderwoche 1: Aufgabe1, Aufgabe2, ...
Kalenderwoche 2: Aufgabe6, Aufgabe7, ...
Kalenderwoche 3: Aufgabe10, Aufgabe 13, ...
usw.

Nun möchte ich zunächst die aktuelle Kalenderwoche anhand des aktuellen Datums ermitteln. Innerhalb der o.g. TXT-Datei will ich dann die aktuelle Kalenderwoche (z.B. Kalenderwoche 44: ) suchen und den Text, der nach dem Doppelpunkt steht (restlicher Text in der gleichen Zeile) kopieren oder in eine Variable schreiben. In einer anderen TXT-Datei (z.B. Datei2.txt) soll dann ebenfalls nach einem bestimmten Wort/Bereich gesucht werden (z.B. Aufgaben: "TABSTOPP" gesuchter Bereich "TABSTOPP") und der kopierte Text oder der Inhalt der o.g. Variablen aus der ersten Datei in diesen Bereich (also zwischen den beiden TABSTOPPS) eingefügt werden.

Habt ihr ggf. eine Idee wie man das Problem einfach in Powershell umsetzten kann oder mich auf einen ähnlichen Referenzbeitrag verweisen? Ich habe mich durch einige Foreneinträge gelesen, bis jetzt aber nur eine Lösung für das Ermitteln der Kalenderwoche gefunden, jedoch keine passende Lösung für das "umkopieren" des Textes zwischen den Dateien.

Vielen Dank für eure Hilfe.

Content-Key: 63406621688

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

Printed on: May 3, 2024 at 04:05 o'clock

Member: TK1987
TK1987 Oct 17, 2023 updated at 09:36:17 (UTC)
Goto Top
Moin,

Zitat von @Powle1212:
Nun möchte ich zunächst die aktuelle Kalenderwoche anhand des aktuellen Datums ermitteln.
$KW = [System.Globalization.DateTimeFormatInfo]::CurrentInfo.Calendar.GetWeekOfYear((get-date),2,1)
Ab Powershell 7 kann man alternativ auch einfach
Get-Date -UFormat "%V"  
verwenden, um die Kalenderwoche zu ermitteln. In Version 5.1 wird hierbei allerdings das Gebietsschema noch nicht berücksichtigt, daher fängt die KW dort (wie im englischen Standard üblich) am Sonntag an und nicht Montags.

Innerhalb der o.g. TXT-Datei will ich dann die aktuelle Kalenderwoche (z.B. Kalenderwoche 44: ) suchen und den Text, der nach dem Doppelpunkt steht (restlicher Text in der gleichen Zeile) kopieren oder in eine Variable schreiben.
$Text = Select-String -Pattern "^Kalenderwoche ${KW}:" -Path "D:\Test\Datei1.txt" | Foreach {$_.Line.Split(':')[1]}  

In einer anderen TXT-Datei (z.B. Datei2.txt) soll dann ebenfalls nach einem bestimmten Wort/Bereich gesucht werden (z.B. Aufgaben: "TABSTOPP" gesuchter Bereich "TABSTOPP") und der kopierte Text oder der Inhalt der o.g. Variablen aus der ersten Datei in diesen Bereich (also zwischen den beiden TABSTOPPS) eingefügt werden.
Da musst du dann schon ein wenig präziser werden. Gibt es für jede Aufgabe eine eigene Datei? Oder für Jede Aufgabe einen einzelnen Bereich? Oder einen Bereich für alle Aufgaben der jeweiligen Kalenderwoche?

ich bin noch in den Anfängen von Powershell
Habt ihr ggf. eine Idee wie man das Problem einfach in Powershell umsetzten kann oder mich auf einen ähnlichen Referenzbeitrag verweisen?
Immer einen Blick wert:
Powershell Leitfaden für Anfänger

Gruß Thomas