Jump to content

epsodus

Members
  • Content Count

    28
  • Joined

  • Last visited

Everything posted by epsodus

  1. Hallo zusammen, ich habe mal eine Frage zum Thema Powershell und Get-ChildItem und match. Ich habe mehrere Dateien, welche mit .csv enden. Aus diesen möchte ich bestimmte Dateinamen mit bestimmten Merkmalen identifizieren und umbenennen. Hier mal drei Beispiele: TEST.BARN.G1T3F.02983100.B200225.T014508.X02.CSV TEST.BARN.G1B53.02983104.D200225.T014508.C02.0400.CSV TEST.BARN.G9T3F.02981185.B200225.T014508.X02.CSV Ich möchte Dateinamen identifizieren und umbenennen die z.B. das Merkmal G1T3F und 3100 haben. Dies mache ich wie folgt: Get-ChildIte
  2. Ich habe jetzt mal folgendes eingefügt: $error | %{ $_ | select CategoryInfo, Exception | fl } damit bekomme ich den Fehler angezeigt und kann ihn jetzt wegschreiben. Werde das Script jetzt mit try catch erweitern Danke, für die Hinweise
  3. Hallo, einige Errormeldungen kann ich abfangen und dazu Aktionen ausführen. Jetzt meine Frage, Wenn ich eine Datei verschieben möchte und diese im Zielverzeichnis vorhanden ist, bekomme ich die folgende Fehlermeldung: ERROR: Rename-Item : Eine Datei kann nicht erstellt werden, wenn sie bereits vorhanden ist. ERROR: ERROR: In C:\XXXX TEST\XXXXRepPS_V4_0_xml_csv.ps1:434 Zeichen:4 ERROR: + Rename-Item -Path $XXXX_YYYYYYYXMLFILE -NewName $VVVVVVVV ... ERROR: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ERROR: + CategoryInfo :
  4. Hallo, hat etwas gedauert, habe das Programm mal aufgeräumt und dokumentiert. das Überschreiben mit einer gefundenen und doppelten Lei habe ich jetzt auch gelöst. Jetzt muss ich die erstellten Files nur noch gegen das Excelsheet abgleichen ( Spalte C ) und bei einer Übereinstimmung renamen, Wert aus Excelsheet Spalte (A) in der gleichen Zeile wie der gefundene Wert aus Spalte C. Das File soll dann mit dem Wert aus Spalte A anfangen. Da happert es noch. #--------------------------------------------------------------------------------------------------------------------
  5. Hi BOFH_666, mal eine ganz blöde Frage, was passiert wenn es in einem XML File, 2 identische Lei's gibt, im Knoten aber ein anderer Inhalt ist. Dann überschreibt die eine Datei die andere. Kann Du es beim Script so machen, wenn eine identische bzw. schon vorhandene Leigefunden wird, das im dann schon erstelleten XML File, dieser Knoten hinzugefügt wird ? ? Anbei eine neues XML File Jetzt verlange ich wohl zuviel.... TestneuXML.XML
  6. Hallo, ich sage mal Danke. Werde jetzt mal den Code von BOfH_666 auserinandernehmen. Versuche ihn für mich zu dokumentieren und dann zu verstehen. Werde ihn noch was erweitern und melde mich dann. Nochmals ein RIESEN DANKE
  7. Hi, anbei ein neues xml File mit mehreren Knoten. Es sollte dann für jeden Knoten XML File erstellt werden. Ich teste gerade auch noch. TestXML.xml
  8. Hallo, es geht so für den Hausgebrauch, mein Problem ist das arbeiten mit XML Dateien Was ich wollte ist, die mitgelieferte XML Datei ( TestXML.XML als Beispiel )parsen, im unteren Script mit einem Vorschlag von Martin. Finde ich beim parsen eine LEI, dann eine neue XML Datei erstellen, mit dem Namen der gefundenen Lei. Den Knoten mit der gefundenen Lei in die erzeugt XML Datei einfügen. Das schaffe ich nicht Hier der Knoten mit der LEI 324400KX2BNAYXBQMT36 <TxId> <RptgCtrPty> <LEI>324400KX2BNAYXBQMT36</L
  9. Dann sagen wir es mal so, in Deinem Geburtsjahr habe ich meine Ausbildung begonnen, demnach bin ich kein alter Herr, sondern ein Greis.
  10. HM, bekomme immer hier einen Fehler. Muss mir mal den $Node anschauen, den ich mir geschrieben habe $OutFileId = $Node.TechRcrdId ERROR: In C:\DTCC TEST\Sta_Einlesen_Test.ps1:48 Zeichen:31 ERROR: + $OutFileId = $Node.TechRcrdId ERROR: + ~ ERROR: Unerwartetes Token "" in Ausdruck oder Anweisung. ERROR: + CategoryInfo : ParserError: (:) [], ParseException ERROR: + FullyQualifiedErrorId : UnexpectedToken ERROR: Hallo Nils, alte Herren ????? Du bezeichnest Dich als alter Herr ? Wenn Du möchtest bzw. willst, nenne mal De
  11. Hi, war nicht ernst gemeint, ich freue mich das mir hier geholfen wird.
  12. Hallo, ich möchte mich bei daabm bedanken, hier im Forum kann ich was lernen. Zugleich möchte ich mich entschuldigen, für das Thema XML, weil es zu einem regen Schriftverkehr geführt hat Ich sage DANKE, für jede Anregung und Hilfe
  13. Hi, leider nicht. Ich werde jetzt wie folgt vorgehen. 1. Importdatei ( XML ) parsen nach Merkmal. 2. Neue Xml Dateien erstellen, nur mit den identifizierten Knoten, Merkmal im Dateinamen einfügen ( Dateiname umbenennen ) 3. Neue Dateien mit dem Excelshheet abgleichen, bei Treffer, Datei umbenennen, vorne User im Dateinamen Wenn das grob funktioniert, werde ich das Script verfeinern. Kämpfe mich gerade durch das parsen und erstellen einer neuen XML Datei ( Struktur )
  14. Hier mal die csv datei mit txt als endung. Ich werde mal mein Glück mit der xml erstellung versuchen, das ist der schwierigste teil. Zuordnung.txt
  15. Hi, das File wird dann automatisch verarbeitet Solange es xml Fomat hat Genau, (höchstens für Sadisten und Masochisten ) Das XML Format ist ja mein Problem Mein Problem ist es mit XLM umzugehen. Wenn man jetzt den Knoten identifiziert hat, wie erstelle ich dann für jeden Knoten ein XLM File, mit dem Knoten als Inhalt, wie oben beschrieben und setze die Nummer vorne als Namensbestandteil dran.
  16. Hallo, Du meinst dazu ? Was würde passieren, wenn man nur eine Datei zum validieren versenden würde? Vielleicht kann man das Aufsplitten in einzelne User-Dateien ja vermeiden, wenn man dem Validator nur einzelne User-Dateien verfüttert!? Die Dateien werden getrennt auf verschiedenen Rechnern erstellt und versendet. Gesammelt wird auf der Gegenseite, dann nur ein XML File erstellt. Hier mal eine Beispiel Exceldatei, man darf hier wohl keine csv Datei ablegen , also xlsx Zuordnung.xlsx
  17. es ist eine csv Datei. Leider wird für jeden Benutzer diese Datei zum Export erzeugt
  18. Hi, Der User kann damit seine Exportdatei mit der validierten Importdatei abgleichen. Die XML Files werden durch ein Programm erzeugt und versendet. Es kommt nur ein File zurück mit allen Antworten, darauf hat man keinen Einfluss Die Nummer für jeden User ist im Vorfeld festgelegt,
  19. Hi, wie soll ich das erklären, ich versuche es mal. Es wird ein XML File zur Validierung verschickt ( exportiert ), für jeden User ein File, es können 100 user sein. Als Antwort kommt eine Responesdatei ( Importdatei ) zurück. Jetzt kommt der Knackpunkt, in diesem File sind keine Userkennungen mehr drin. Sondern für jeden User gibt es eine Nummer die jedem User fest vergeben ist ( z.B. ERTHUTDREPxxSCDxxSFTRxxSFTxx487331 ). Daher muss ich das Importfile splitten, nach diesen Nummern und neu erstellen. Also beim schreiben des neuen Files, wird der Dateiname um diese besagt
  20. Hallo, Danke für den Hinweis, ich hätte es jetzt so gemacht. Deine Lösung ist eleganter. $StatTradDataXmlData = [xml](Get-Content "D:\sample\test.xml") $node = $StatTradDataXmlData.SctiesFincgRptgTxStatRpt.TradeData $Statnames = @() foreach ($entry in $node) { $Statnames = $Statnames + $entry.Stat } Write-host $Statnames Ich möchte für jeden extrahierten Knoten ein neues XML File erstellen, wo nur der gefunden Knoten enthallten ist Als Beispiel: <?xml version="1.0"?> <SctiesFincgRptgTxStatRpt> <TradData> <Stat>
  21. Hallo zusammen, ich hoffe mir kann jemand einen Denkanstoß geben oder auch helfen, Scripting PowerShell. Ich habe eine XML Datei, dort sind mehrere Knoten vorhanden, Auszug aus der Datei: Ich meine mit Knoten: -<Stat> bis </Stat> -<SctiesFincgRptgTxStatRpt> -<TradData> -<Stat> <TechRcrdId>ERTHUTDREPxxSCDxxSFTRxxSFTxx487331</TechRcrdId> +<CtrPtyData> +<LnData> +<CollData> +<CtrctMod> </Stat> -<S
  22. Hallo, ich bin wirklich blö….. Mit eurem Script konnte ich meinen Wunsch umsetzen. Mein Fehler war, dass ich euer Script im Funktionsblock eingesetzt habe, wo die Abarbeitung jedes einzelnen Files erfolgte. Ich habe euer Script jetzt an den Anfang des Funktionsaufrufes gesetzt, hier liegen alle Dateien gesammelt im Verzeichnis. Euer Scriptteil wird dann einmalig aufgerufen und alle Dateien werden abgearbeitet. Erst danach rufe ich meinen Funktionsblock auf. Einen riesen Dank, habe jetzt was dazugelernt und danke für Eure Hilfe
  23. Hallo, folgende Codierung. UTF-8. Die Datei sieht vom Inhalt wie folgt aus: 1TRANS20200128 100GTR XML Download Rep0001 10298310003 0000000016DTCCCDT 20200128 05:21 RDT 20200128 05:21 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> Damit die XML Strucktur wieder lesbar ist, muß die erste Zeile raus.
  24. Hm, also, wenn ich ein Verzeichnis habe, wo alle Dateien vorhanden sind, dann funktioniert MurdocX Script wunderbar. In meinem Script wird jede Datei auf den Dateinamen geprüft, gibt es eine Übereinstimmung mit einem Platzhalter, dann wird die Datei verschoben und umbenannt. An diesem Punkt setze ich euer Script ein. Move-Item -path $DTCC_ROOTFILE -Destination $DTCC_ACKNACKXML -Force Rename-Item -Path $DTCC_ACKNACKXMLFILE -NewName $ACKNACKXML_NEWFILE "Die Datei " + $DTCC_FILE + " wurde nach " + $DTCC_ACKNACKXML + " verschoben und umbenannt in: " + $ACKNACKXML_NEWF
×
×
  • Create New...