0xc0ffe
Goto Top

Move mit Robocopy

Hallo zusammen,

ich würde gerne Bilder von einem Verzeichnis in ein anderes Verschieben mit Folgenden Ausschlusskriterien:

Dateiendung : .jpg
Dateinamen: Nur Zahlen, Nicht >11 und Nicht <10 also = 10 oder 11.

Bisher hab ich folgendes Script:
robocopy C:\temp\a C:\temp\b /MOV /TEE /XF *_*.* ?.* ??.* ???.* ????.* ?????.* ??????.* ???????.* /LOG:C:\Temp\protoRC.txt

Ich finde es allerdings nicht wirklich schön und übersichtlich wenn ich mit den ganzen Fragezeichen arbeite und so die Anzahl der nicht erlauben Namen durchgehe.

Das Programm mit dem die Bilder erstellt werden ändert den Dateinamen in Dateiname_1.jpg insofern er schon vorhanden ist.
Das Ziel ist es, dass die Bilder, die nur Zahlen im dateinamen haben, die Endung .jpg und die Richtige Länge haben auf den Server geschoben werden und alle anderen in dem Source Verzeichnis bleiben.

Danke schonmal

0xC0FFE

Content-Key: 317417

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

Printed on: April 20, 2024 at 00:04 o'clock

Member: emeriks
emeriks Oct 11, 2016 at 06:07:08 (UTC)
Goto Top
Hi,
Ich finde es allerdings nicht wirklich schön und übersichtlich wenn ich mit den ganzen Fragezeichen arbeite
Aber wenn es denn funktioniert!?

und so die Anzahl der nicht erlauben Namen durchgehe.
Enumerieren muss man die Dateien so oder so. Und zwar alle. Auch dann, wenn man das z.B. über VBscript oder PowerShell oder .Net macht. Auch dann, wenn man dabei mit einer Methode à la ".Get(irgendwas)" arbeitet. Um nur das "irgendwas" zu liefern muss er erst mal intern alle auflisten.

E.
Mitglied: 131026
Solution 131026 Oct 11, 2016 updated at 06:45:01 (UTC)
Goto Top
Mit Powershell geht's so
gci 'c:\temp\a' -Filter *.jpg | ?{$_.Basename -match '^\d{10,11}$'} | move-item -Destination 'c:\temp\b' -Force  
Gruß R.