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-ID: 317417

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

Ausgedruckt am: 22.11.2024 um 01:11 Uhr

emeriks
emeriks 11.10.2016 um 08:07:08 Uhr
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.
131026
Lösung 131026 11.10.2016 aktualisiert um 08:45:01 Uhr
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.