
143350
06.03.2020, aktualisiert um 21:11:21 Uhr
Jedes dritte Bild in bestimmten Ordner verschieben
Hallo Liebe Forenmitglieder,
da ich nach erfolgloser Google-Suche auf einen Beitrag hier im Forum gestoßen bin, erhoffe ich mir von Euch
den passenden Rat bzw. eine passende Lösung.
Ich muss in der Arbeit immer wieder mit einem Oszilloskop Messungen durchführen. Das Ergebnis wird als
png Grafik auf einem USB Stick gespeichert.
Meistens sind das 180 Bilder - Nummerierung ist immer von 000 bis 179.
Später müssen die Ergebnisse auf unserem Server gesichert werden.
Kennt Ihr eine Möglichkeit - gerne per Batch oder ein Tool, mit dem ich sagen kann, verschiebe jede dritte
Datei in einen bestimmten Ordner.
Wenn jede dritte verschoben wurde, muss jede zweite wiederum in ein bestimmtes Verzeichnis verschoben werden.
Und wenn diese dann abgelegt sind, muss der Rest wiederum in ein Verzeichnis.
Natürlich kann ich gerne 3 Batch Dateien erzeugen um dies zu realisieren oder auch immer wieder die Zielverzeichnisse
abändern - alles ist einfacher und schneller als derzeit alles immer wieder händisch zu erledigen.
In einzelnen Fällen sind es auch dopplet so viele Messungen als auch doppelt so viele Bilder.
Ich bin gespannt auf Eure Vorschläge, und Danke Euch schon jetzt von Herzen für Eure Zeit die Ihr investiert.
Grüße
BommelMelo
da ich nach erfolgloser Google-Suche auf einen Beitrag hier im Forum gestoßen bin, erhoffe ich mir von Euch
den passenden Rat bzw. eine passende Lösung.
Ich muss in der Arbeit immer wieder mit einem Oszilloskop Messungen durchführen. Das Ergebnis wird als
png Grafik auf einem USB Stick gespeichert.
Meistens sind das 180 Bilder - Nummerierung ist immer von 000 bis 179.
Später müssen die Ergebnisse auf unserem Server gesichert werden.
Kennt Ihr eine Möglichkeit - gerne per Batch oder ein Tool, mit dem ich sagen kann, verschiebe jede dritte
Datei in einen bestimmten Ordner.
Wenn jede dritte verschoben wurde, muss jede zweite wiederum in ein bestimmtes Verzeichnis verschoben werden.
Und wenn diese dann abgelegt sind, muss der Rest wiederum in ein Verzeichnis.
Natürlich kann ich gerne 3 Batch Dateien erzeugen um dies zu realisieren oder auch immer wieder die Zielverzeichnisse
abändern - alles ist einfacher und schneller als derzeit alles immer wieder händisch zu erledigen.
In einzelnen Fällen sind es auch dopplet so viele Messungen als auch doppelt so viele Bilder.
Ich bin gespannt auf Eure Vorschläge, und Danke Euch schon jetzt von Herzen für Eure Zeit die Ihr investiert.
Grüße
BommelMelo
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 555489
Url: https://administrator.de/forum/jedes-dritte-bild-in-bestimmten-ordner-verschieben-555489.html
Ausgedruckt am: 22.04.2025 um 11:04 Uhr
6 Kommentare
Neuester Kommentar
Hi
sowas z.B? (quick&dirty und nicht wirklich getestet)
sowas z.B? (quick&dirty und nicht wirklich getestet)
$files = Get-ChildItem "C:\temp\test" -Filter *.png | Sort-Object { [regex]::Replace($_.Name, '\d+', { $args.Value.PadLeft(20) }) }
for( $id = 2; $id -lt $files.count; $id += 3 ) {
$files[$id] | Move-Item -Destination "C:\temp\test\drittel"
}
$files = Get-ChildItem "C:\temp\test" -Filter *.png | Sort-Object { [regex]::Replace($_.Name, '\d+', { $args.Value.PadLeft(20) }) }
for( $id = 1; $id -lt $files.count; $id += 2 ) {
$files[$id] | Move-Item -Destination "C:\temp\test\halb"
}
Move-Item -Path "C:\temp\test\*.png" -Destination "C:\temp\test\rest"
Mein Vorschlag kurz vor Mitternacht:
Jetzt kannst du das skript als z.B. PickNMove.ps1 anbspeichern und dann so aufrufen:
So zurück zu while ! sleep apply milk && check diper
MFG
N-Dude
param(
$Source,
$Destination,
$Every = 3
)
$AllFiles = Get-ChildItem -Path $Source -File | Sort-Object
$Index= 0
$FilesToCopy = @()
while ($Index -lt $AllFiles.Length){
$FilesToCopy += $AllFiles[$Index]
$Index = $Index + $Every
}
$FilesToCopy | Move-Item -Destination $Destination
Jetzt kannst du das skript als z.B. PickNMove.ps1 anbspeichern und dann so aufrufen:
.\PickNMove.ps1 -Source "<Pfad wo die Originale sind> -Destination "<Pfad wohn die sollen>" -Every <Zahl welche X-te Datei verschoben soll>
So zurück zu while ! sleep apply milk && check diper
MFG
N-Dude

Und wenn dann noch ein Powershell Einzeiler zum Frühstück genehm ist
gci 'd:\ordner' -Filter *.png -file | ?{([int]$_.Basename +1) % 3 -eq 0} | move-item -Destination 'd:\ziel' -verbose
das ist powershell.
das Script als .ps1 speichern, dann kannst du das ausführen
Etwas "einfacher" und anpassbarer:
Wenn du das jetzt nicht selbst anpassen kannst weiss ich auch nicht ...
das Script als .ps1 speichern, dann kannst du das ausführen
Und wenn ich gezielte
Ordnernamen angebe, wie z.B. DUT_1, DUT_2 und DUT_3 - an welchen Stellen müsste
ich Deinen Code anpassen?
Äh ... die Pfade sind doch eigentlich ziemlich einfach erkennbar ?!Ordnernamen angebe, wie z.B. DUT_1, DUT_2 und DUT_3 - an welchen Stellen müsste
ich Deinen Code anpassen?
Etwas "einfacher" und anpassbarer:
$source = "C:\temp\test"
$target_jedesdritte = "C:\temp\test\drittel"
$target_jedeszweite = "C:\temp\test\halb"
$target_rest = "C:\temp\test\rest"
$files = Get-ChildItem $source -Filter *.png | Sort-Object { [regex]::Replace($_.Name, '\d+', { $args.Value.PadLeft(20) }) }
for( $id = 2; $id -lt $files.count; $id += 3 ) {
$files[$id] | Move-Item -Destination $target_jedesdritte
}
$files = Get-ChildItem $source -Filter *.png | Sort-Object { [regex]::Replace($_.Name, '\d+', { $args.Value.PadLeft(20) }) }
for( $id = 1; $id -lt $files.count; $id += 2 ) {
$files[$id] | Move-Item -Destination $target_jedeszweite
}
Move-Item -Path "$($source)\*.png" -Destination $target_rest
Wenn du das jetzt nicht selbst anpassen kannst weiss ich auch nicht ...