Jump to content

Hypeside

Members
  • Gesamte Inhalte

    4
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von Hypeside

  1. Script läuft :-)

    # Variablen
    $RootVerzeichnis = "C:\Temp\DPC"
    $SuchenNach = "20\d{12}"
    
    # 1tes XML File auslesen
    $XMLPath = Get-ChildItem $RootVerzeichnis\IN\ -Filter *.xml | Select-Object -ExpandProperty FullName -First 1
    [xml]$xml = Get-Content -Path $XMLPath | Out-String
    
    # XML Ergebnisse
    $RGFILE = $xml.XML.Table.Filename
    $RGNR = $xml.XML.Table.Rechnungsnummer
    
    # Datei umbenennen
    Get-ChildItem $RootVerzeichnis\IN\ -Filter *.pdf | ? Name -imatch $($RGFILE) | Rename-Item -NewName {$_.Name -replace $SuchenNach,$RGNR}
    
    # XML löschen
    Remove-Item $XMLPath

    Es fehlt mir jetzt nur noch die Schleife über das ganze. Muss ich da eine Funktion draus machen, oder geht dies auch simpler?

    Gruß

    Thomas

  2. Hallo Jan,

     

    ich habe das jetzt so gebastelt:

    
    # Variablen
    $RootVerzeichnis = "C:\Temp\DPC"
    $SuchenNach = "20\d{12}"
    
    # 1tes XML File auslesen
    $XMLPath = Get-ChildItem $RootVerzeichnis\IN\ -Filter *.xml | Select-Object FullName -First 1
    [xml]$xml = Get-Content -Path $XMLPath | Out-String
    
    # XML Ergebnisse
    $RGFILE = $xml.XML.Table.Filename
    $RGNR = $xml.XML.Table.Rechnungsnummer
    
    # XML Ergebnisse anzeigen
    echo $RGFILE
    echo $RGNR
    
    # Datei umbenennen
    Get-ChildItem $RootVerzeichnis\IN\ -Filter *.pdf | ? Name -imatch $($RGFILE) | Rename-Item -NewName {$_.Name -replace $SuchenNach,$RGNR}

    Leider klappt das mit dem Auslesen der XML in Zeile 8 nicht.

    Die Variable von Zeile 7 wird korrekt angezeigt 

    FullName                                         
    --------                                         
    C:\Temp\DPC\IN\Rechnung_Legler_20190619165503.xml

    Danach kommt allerdings für mich unverständlich der folgende Fehler:

    PS C:\temp\DPC> [xml]$xml = Get-Content -Path $XMLPath
    Get-Content : Das Laufwerk wurde nicht gefunden. Ein Laufwerk mit dem Namen "@{FullName=C" ist nicht vorhanden.
    In Zeile:1 Zeichen:13
    + [xml]$xml = Get-Content -Path $XMLPath
    +             ~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (@{FullName=C:String) [Get-Content], DriveNotFoundException
        + FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.GetContentCommand

    Warum wird der Wert 'Fullname' mit in die Variable aufgenommen ?

     

     

    Merci für die Hilfe

    vor 35 Minuten schrieb testperson:

    Das passende, eindeutige(?) PDF sollte sich doch anhand der RG Nummer identifizieren lassen?

    
    Get-ChildItem $RootVerzeichnis\IN\ -Filter *.pdf | ? Name -imatch $($RGNR + ".pdf") | Rename-Item -NewName {$_.Name -replace $SuchenNach,$RGNR}

     

    Hallo Jan, $RGNR geht nicht, kommt aus dem XML für die spätere benamung. Ich kann jedoch auf den Dateinamen in der XML zugreifen und diesen als $RGFile verwenden.

    Hab es mit -ExpandProperty hinbekommen :-)

     

    Jetzt fehl noch das löschen und die Schleife drumherum....

  3. Hallo,

    ich bräuchte etwas Hilfe.

    Ich habe folgende Aufgabenstellung: 

    Aus der xml die Variable „Rechnungsnummer“ auslesen <Rechnungsnummer>1646805</Rechnungsnummer>

    Die danebenliegende gleichnamige PDF von „Rechnung_Legler_20190619165503.pdf“   nach  „Rechnung_Legler_1646805.pdf“  umbenennen.

    Die xml Datei löschen.

    Bis auf das löschen der XML Datei habe ich das auch hinbekommen, aber wie behandele ich das ganze, wenn mehr als ein Dateienpaar eintrifft?

    Und das Script soll ab Start fortwährend laufen.

    Hier mein bisheriger Code: 

    $RootVerzeichnis = 'C:\Temp\DPC'
    $SuchenNach = "20\d{12}"
    [xml]$xml = Get-Content -Path $RootVerzeichnis\IN'\*.xml' | Out-String
    $RGNR = $xml.XML.Table.Rechnungsnummer
    Get-ChildItem $RootVerzeichnis\IN\*.pdf | Rename-Item -NewName {$_.Name -replace $SuchenNach,$RGNR}

    Die Rechnung (Win Testseite) und die XML habe ich als Anhang beigefügt.

    Kann mir jemand hier weiterhelfen?

    Vielen Dank Vorab

    LG Thomas 

    Rechnung_Legler_20190619165503.pdf Rechnung_Legler_20190619165503.xml

×
×
  • Neu erstellen...