Textdatei anhand xy-Koordinaten auslesen

Mitglied: LeaX55
Hallo Gemeinde,

gibt es in Powershell eine Möglichkeit ein Text/Zahl aus einer Textdatei auszulesen anhand xy-Koordinaten?
Als Beispiel habe ich eine Textdatei, aus der ich immer den Inhalt aus der 6. Zeile ab Zeichen 35 haben will. Und zwar bis zum nächsten "|" Symbol. Leerzeichen sollen entfernt werden.
Wir haben im Unternehmen bereits so ein Tool das mit xy-Koordinaten Textdateien ausliest. In dem Fall muss ich dann einfach 35(x) und 6(y) eingeben damit das funktioniert. Leider kann dieses Tool aber keine Dateiaktionen ausführen die ich zwingend machen muss. Deswegen benötige ich ein eigenes Script.

Content-Key: 1114017914

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

Ausgedruckt am: 17.09.2021 um 15:09 Uhr

Mitglied: TK1987
Lösung TK1987 02.08.2021 aktualisiert um 11:44:37 Uhr
Goto Top
Moin,

mit einem bisschen Regex kein Problem
Regex Tutorial
Regex Legende

Gruß Thomas
Mitglied: LeaX55
LeaX55 02.08.2021 um 13:58:13 Uhr
Goto Top
Super Vielen Dank! genau sowas hab ich gesucht.
Ich habe das nun erweitert damit ein neuer Ordner mit dem Wert $Value angelegt wird und diese Datei in diesen Ordner verschiebt werden soll.
Alles funktioniert bis auf die letzte Zeile mit dem move-item. Was fehlt denn da noch??
Move-Item : Das Argument kann nicht an den Parameter "Path" gebunden werden, da es NULL ist.


Mitglied: TK1987
Lösung TK1987 02.08.2021 aktualisiert um 14:54:20 Uhr
Goto Top
Zuerst mal, müsstest du das alles in einer Foreach-Schleife laufen lassen - sonst würde immer nur die erste TXT-Datei verabeitet.
Wenn in der Zeile ein Pfad steht ist der Regex oben falsch, da er auch Leerzeichen innerhalb dieses Pfades löschen würde. Ich gehe mal davon aus, du möchtest nur Leerzeichen, die nach dem Pfad folgen löschen -> ist unten korrigiert.

Darüber hinaus ist $Value eine Zeichenkette und kein Objekt, hat dementsprechend auch keine Path-Eigenschaft.
Wenn Join-Path und md funktionieren, gehe ich mal davon aus, in $Value steht ein Ordnername?!
Sofern dieser Ordner im Quellpfad liegt, sähe das ganze so aus:

Mitglied: LeaX55
LeaX55 02.08.2021 aktualisiert um 16:28:16 Uhr
Goto Top
Musste aus der 34 eine 35 machen weil er nachdem Du das geändert hast, 1 Zeichen vorher angefangen hat zu lesen.

Mit dem move-item kommt er jedoch immer noch nicht klar.
move-item : Der Pfad "C:\Quelle\1234567890" kann nicht gefunden werden, da er nicht vorhanden ist.

Er denkt das ist ein Pfad und keine Datei.

Ansonsten passt alles, die Ordner werden mit richtigen Namen im Archivpfad angelegt.

Ich Anfänger habe noch versucht dem $Value ein .txt anzufügen mit $Value=$Value + ".txt"
Hat er natürlich nicht gefressen :D

Edit: grad gelesen dass du die Problematik angesprochen hast....
$Value soll der Ordnername werden aber im Quellpfad liegt kein Ordner mit dem Namen.
Sonst könnte ich den Ordner ja vom Quellpfad einfach in den Archivpfad verschieben und bräuchte diesen ganzen Script nicht (Es soll ein Archivierungstool werden der anhand einer Bestellnr Ordner anlegt und die Dateien in diese archiviert)
Mitglied: TK1987
TK1987 02.08.2021 aktualisiert um 16:43:27 Uhr
Goto Top
Zitat von @LeaX55:
Musste aus der 34 eine 35 machen weil er nachdem Du das geändert hast, 1 Zeichen vorher angefangen hat zu lesen.
In dem Fall willst du die Zeile dann aber auch erst ab dem 36 Zeichen haben ;-) face-wink

Mit dem move-item kommt er jedoch immer noch nicht klar.
move-item : Der Pfad "C:\Quelle\1234567890" kann nicht gefunden werden, da er nicht vorhanden ist.

Er denkt das ist ein Pfad und keine Datei.
move-item ist es grundsätzlich egal, ob das ein Ordner- oder Dateipfad ist. Funktioniert in beiden Fällen. das Problem ist hier, dass die Datei keine Erweiterung hat und der Pfad daher nicht existiert.

Ich Anfänger habe noch versucht dem $Value ein .txt anzufügen mit $Value=$Value + ".txt"
Hat er natürlich nicht gefressen :D
Sollte aber so funktionieren. Welche Fehlermeldung bringt er denn da?

Ansonsten kannst du die Erweiterung natürlich auch erst beim Move-Item-Befehl anhängen, wenn $Value der Dateiname ist.

Mitglied: LeaX55
LeaX55 02.08.2021 um 16:49:07 Uhr
Goto Top
Es kommt die gleiche Fehlermeldung, nur eben mit .txt am Ende
move-item : Der Pfad "C:\Quelle\1234567890.txt" kann nicht gefunden werden, da er nicht vorhanden ist.

Schon seltsam...
Mitglied: TK1987
TK1987 02.08.2021 um 17:23:02 Uhr
Goto Top
Zitat von @LeaX55:
Es kommt die gleiche Fehlermeldung, nur eben mit .txt am Ende
move-item : Der Pfad "C:\Quelle\1234567890.txt" kann nicht gefunden werden, da er nicht vorhanden ist.
Die Fehlermeldung ist doch eindeutig - die Datei existert unter dem Pfad nicht.
Mitglied: LeaX55
LeaX55 02.08.2021 um 17:38:12 Uhr
Goto Top
ah jetzt versteh ichs. Ja klar die Datei heisst ja auch nicht so.
Hmm ist alles doch etwas komplizierter als ich mir vorgestellt habe... :/
Mitglied: TK1987
Lösung TK1987 02.08.2021 um 18:47:19 Uhr
Goto Top
Welche Datei willst du denn genau verschieben?
Etwa die, aus der Zeile 6 extrahiert wurde? Dann:

Ansonsten musst du die Aufgabenstellung schon etwas genauer definieren.
Mitglied: LeaX55
LeaX55 02.08.2021 aktualisiert um 21:22:15 Uhr
Goto Top
Ja immer jeweils die Datei aus der extrahiert wird.

Aber sieht so als würde das nun funkionieren mit dem $File.Fullname!

Herzlichen Dank!

Eine letzte kleine Frage hätte ich noch. Was ist wenn ich nicht bis zum nächsten Pipe sondern bis zum nächsten Leerzeichen auslesen will? Langt es das Pipe Symbol im regex durch ein Leerzeichen zu ersetzen?
Mitglied: TK1987
TK1987 02.08.2021 aktualisiert um 21:41:38 Uhr
Goto Top
In dem Fall lautet der Regex einfach ' .*'

Der Ordnername selbst darf dann aber natürlich keine Leerzeichen enthalten.
Heiß diskutierte Beiträge
question
Drucker Gäste WLANmarkaurelVor 1 TagFrageLAN, WAN, Wireless27 Kommentare

Hallo zusammen und bitte um eure Hilfe! Ich hab in einer kleinen Schule ein LAN aufgebaut. Mit der Zeit kam natürlich auch der Bedarf an ...

question
Virtualisierungsprojekt für die FacharbeitVentimonusVor 1 TagFrageVirtualisierung16 Kommentare

Heyho, Ich habe mal ein paar fragen, bezüglich meines Abschlussprojektes, ob das alles überhaupt so Sinnig ist wie ich es mir denke. Kurz zur Erläuterung: ...

general
HomeServer noch mal anfassen?dertowaVor 1 TagAllgemeinServer-Hardware20 Kommentare

Hallo zusammen, erst im Juli dieses Jahres habe ich mein Homeserver-System angefasst und ein paar Upgrades vorgenommen. Der Threadripper 1920x wurde durch einen Ryzen 5 ...

question
Netzwerkperformance - Mikrotik - Wo ist mein Fehler?BirdyBVor 19 StundenFrageNetzwerke34 Kommentare

Moin zusammen, ich stehe gerade etwas auf dem Schlauch und weiß nicht so recht was mein Fehler ist. Gegeben ist mein heimisches Netzwerk: Also eigentlich ...

question
Neue Firmennetzwerkstruktur und ein glühender KopfDerWachnerVor 1 TagFrageNetzwerke28 Kommentare

Moin zusammen, nun hab ich jahrelang hier nur mitgelesen, nun stehe ich allerdings selbst vor nem Problem was mir seit Tagen Kopfschmerzen bereitet. Also wir ...

question
An Konsole geht der Root Account über SSH Permission denieditnirvanaVor 2 TagenFrageUbuntu22 Kommentare

Hallo, wenn ich bei Ubuntu 16.04 über SSH einlogge, kommt Permission denied. Bin ich aber direct an der Konsole im VMWARE geht der Root User. ...

general
Neue Herausforderungen auf unserer englischen SeiteFrankVor 19 StundenAllgemeinOff Topic12 Kommentare

Auf unserer englischen Seite gibt es neue Herausforderungen: Find who restarted DB server und Wanted: Network Node Manager 6.4 wer kann helfen? Generell findet ihr ...

question
Infos zu VOIP bzw. SIP gesucht gelöst lcer00Vor 1 TagFrageVoice over IP15 Kommentare

Hallo, kennt jemand vernünftige Einstiegslektüre (digital oder als Buch) zu VoIP, SIP & Co? Das Prinzip ist mir zwar eigentlich klar, aber gerade bei den ...