XML nach Zahl durchsuchen und darunter stehenden Text ausgeben
Hallo,
ich habe ein Problem mit PowerShell.
Ich möchte eine Zahl eingeben und er soll mir dann den darunter liegenden Pfad als Variable speichern.
Auf den Bild sieht man die Zahl, die ich eingeben würde (Blau) und der Pfad, den ich erhalten möchte (Rot)
Bisher kann ich nur nach der "Page ID" suchen lassen und die Ausgabe scheitert komplett. (ist leer)
Würde mich sehr über Hilfe freuen
MfG
ich habe ein Problem mit PowerShell.
Ich möchte eine Zahl eingeben und er soll mir dann den darunter liegenden Pfad als Variable speichern.
Auf den Bild sieht man die Zahl, die ich eingeben würde (Blau) und der Pfad, den ich erhalten möchte (Rot)
Bisher kann ich nur nach der "Page ID" suchen lassen und die Ausgabe scheitert komplett. (ist leer)
$ordner = "C:\Users\User\Desktop\Test"
$IRN = Read-Host "Nummer eingeben"
Get-ChildItem $ordner -File -Filter *.XML -pipelinevariable file | %{
Select-XML -Path $_.Fullname -XPath "//Page[@ID='$IRN']//Images[@ID='2']" | %{$_.Node.innerText} | Set-Content "$ordner\$($file.Basename).txt"
}
Würde mich sehr über Hilfe freuen
MfG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1938432835
Url: https://administrator.de/contentid/1938432835
Ausgedruckt am: 22.11.2024 um 08:11 Uhr
6 Kommentare
Neuester Kommentar
Servus.
Also immer nur den Path des ersten Bildes im Rear-Knoten für die Paginator im Front Knoten?, in dem Fall dann
Das liefert exakt das was du oben rot markiert hast.
Grüße Uwe
p.s. Vielleicht noch etwas spannende Lesefutter für stürmische Wochenenden gefällig .
Also immer nur den Path des ersten Bildes im Rear-Knoten für die Paginator im Front Knoten?, in dem Fall dann
$ordner = "C:\Users\User\Desktop\Test"
$IRN = Read-Host "Nummer eingeben"
foreach($file in Get-ChildItem $ordner -File -Filter *.XML ){
$result = Select-XML -Path $file.Fullname -XPath "//Rear/Images/Image[../../../Front/Attributes/Paginator = '$IRN'][1]/@Path" | %{$_.Node.value}
if ($result){
write-host "Ergebnis für Datei $($file.Name): $result" -F Green
}else{
write-host "Kein Ergebnis in '$($file.Name)' gefunden!" -F Yellow
}
}
Grüße Uwe
p.s. Vielleicht noch etwas spannende Lesefutter für stürmische Wochenenden gefällig .
Ich möchte nämlich noch, dass er mir das JPG dann in ein Verzeichnis, welche den Namen der XML hat, kopiert und das JPG soll als Namen die Nummer, die ich eingebe, erhalten.
Weil heute Freitag ist die Kurzfassung...#...
copy-item "d:\wherever_the_rootfolder_lies\$result" -Destination "$((md "$($file.DirectoryName)\$($file.Basename)" -force).Fullname)\$IRN.jpg"
#...
Bitte dann auch als gelöst markieren. Merci.
G. Uwe