Mein erster Umgang mit Batch
Morgen Community,
Seit Stunden durchforste ich Google aber mein vermeintlich einfacher Batch Befehlt will nicht klappen..
Kurz worum es geht, ich verleihe Fotoboxen die Software erstellt die verschiedensten Ordner mit den jeweiligen Dateien, nur die wenigsten davon sind für mich relevant, bislang habe ich die Dateien die nicht benötigt werden über die Suche gelöscht
Im Pictures Verzeichnis werden Ordner mit dem Eventnamen erstellt, zB:
C:\Users\UncleB\Pictures\Event1
C:\Users\UncleB\Pictures\Event2
In jedem Event Ordner befindet sich der Unterordner "Prints" hier werden die gleichen Bilder mit 2 verschiedenen Dateinamen gespeichert zB bild1_1x.jp und bild1_2x.jpg
Was will ich nun, ALLE _2x.jpg in den Unterordner C:\Users\UncleB\Pictures\*\Prints löschen.
Im selben Ordner (Prints) befindet sich zusätzlich der Unterordner "thumb" dieser soll komplett inkl. Inhalt gelöscht werden.
Mein Ansatz sieht so aus:
Nur ist hier wohl die Syntax falsch? Zumindest passiert beim ausführen nichts...
Evtl. kann mir ja hier jemand weiterhelfen
Edit:
So klappt es jetzt schon mal
Nur sollen ALLE Ordner (in diesem Fall) in /test durchsucht werden. Kann ich hier nicht einfach \test\*\Prints.. schreiben?
Seit Stunden durchforste ich Google aber mein vermeintlich einfacher Batch Befehlt will nicht klappen..
Kurz worum es geht, ich verleihe Fotoboxen die Software erstellt die verschiedensten Ordner mit den jeweiligen Dateien, nur die wenigsten davon sind für mich relevant, bislang habe ich die Dateien die nicht benötigt werden über die Suche gelöscht
Im Pictures Verzeichnis werden Ordner mit dem Eventnamen erstellt, zB:
C:\Users\UncleB\Pictures\Event1
C:\Users\UncleB\Pictures\Event2
In jedem Event Ordner befindet sich der Unterordner "Prints" hier werden die gleichen Bilder mit 2 verschiedenen Dateinamen gespeichert zB bild1_1x.jp und bild1_2x.jpg
Was will ich nun, ALLE _2x.jpg in den Unterordner C:\Users\UncleB\Pictures\*\Prints löschen.
Im selben Ordner (Prints) befindet sich zusätzlich der Unterordner "thumb" dieser soll komplett inkl. Inhalt gelöscht werden.
Mein Ansatz sieht so aus:
@Echo off
del „C:\Users\UncleB\Pictures\*\Prints\*_2x.jpg“ /s /f /q
del „C:\Users\UncleB\Pictures\*\Prints\thumb“ /s /f /q
Nur ist hier wohl die Syntax falsch? Zumindest passiert beim ausführen nichts...
Evtl. kann mir ja hier jemand weiterhelfen
Edit:
So klappt es jetzt schon mal
@Echo off
del /s /f /q C:\Users\UncleB\Pictures\test\Prints\*2x.jpg
rd /s /q C:\Users\UncleB\Pictures\test\Prints\thumb
Nur sollen ALLE Ordner (in diesem Fall) in /test durchsucht werden. Kann ich hier nicht einfach \test\*\Prints.. schreiben?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5854716184
Url: https://administrator.de/contentid/5854716184
Ausgedruckt am: 22.11.2024 um 07:11 Uhr
3 Kommentare
Neuester Kommentar
Moin
Versuch mal eine Schleife, Beispiel:
Viel Erfolg
PS: schau auch mal in BATCH - Alle Unterordner durchsuchen und bestimmte Dateien löschen
oder
Per Batch nach bestimmten Ordnern und Dateien suchen
Wer suchet, der findet.
Versuch mal eine Schleife, Beispiel:
for /f "tokens=*" %%f in ('dir /s /b /a-d "C:\Users\UncleB\Pictures\test\*_2x.jpg"') do del "%%f"
Viel Erfolg
PS: schau auch mal in BATCH - Alle Unterordner durchsuchen und bestimmte Dateien löschen
oder
Per Batch nach bestimmten Ordnern und Dateien suchen
Wer suchet, der findet.
Jepp nimm gleich die PowerShell, as easy as
remove-item "C:\Users\UncleB\Pictures\*\Prints\*_2x.jpg" -force -verbose
remove-item "C:\Users\UncleB\Pictures\*\Prints\thumb" -recurse -force -verbose