mogrify - wie können Sie Unterordner in Windows durchsuchen?


2

Ich dachte, dass es einen einfachen Schalter in den mogrifyBefehlsoptionen gibt, der sagt, dass er auch Unterordner durchläuft. Ich habe keine gefunden. Unter Linuxfind scheint der Befehl " " den Trick zu machen. Wie geht das unter Windows ?

magick mogrify -resample 72 -resize 700x700 -format png -path "C:\ImageMagick-7.0.8-Q16\dest" *.*

funktioniert, aber ich brauche es, um auch durch Unterordner zu rekursieren. Was ist der einfachste Weg das zu tun?

Im Idealfall suche ich nach der Quellverzeichnisstruktur, die im Ziel beibehalten werden soll, jedoch nur mit den verarbeiteten Bildern.

Antworten:


2

ImageMagick Mogrify-Dateien rekursiv - Windows

Sie können eine FOR / R- Schleife verwenden, um die Dateien beginnend mit dem Stammverzeichnis, in dem sich die Dateien befinden, zu iterieren, und diese dann über die Befehle entsprechend dem folgenden Beispiel für jede Datei ausführen.

Wenn Sie den -pathParameter weglassen, wird er anscheinend mit den Originaldateien ausgeführt, in denen sie sich befinden. Wenn Sie also auf einfache Weise die ursprüngliche Struktur der ursprünglichen Quelle beibehalten möchten, kopieren Sie einfach den ursprünglichen Stammordner der Quelldateien an einen neuen Speicherort und benennen Sie diesen Ordner um.


Beispielbefehl

Hinweis: Achten Sie darauf, den Ordner zu ersetzen C:\Source\Folder\Root, in dem sich die Dateien oder Unterordner befinden, die zum Ausführen der Befehlsoperationen für diese Dateien wiederverwendet werden.

for /r "C:\Source\Folder\Root" %a in (*.*) do mogrify -resample 72 -resize 700x700 -format png "%~a"

Beispielbefehl (mit Löschen)

for /r "C:\Source\Folder\Root" %a in (*.*) do mogrify -resample 72 -resize 700x700 -format png "%~a" && IF NOT [%~Xa]==[.png] DEL /Q /F "%~a"

Weitere Ressourcen

  • FOR / R
  • Chargensubstitutionen (FOR /?)

    Außerdem wurde die Substitution von FOR-Variablenreferenzen verbessert. Sie können jetzt die folgende optionale Syntax verwenden:

    %~xI        - expands %I to a file extension only
    
  • mogrifizieren

  • Del

Klappt wunderbar. Vielen Dank! Ich muss in der Lage sein, die Originaldateien zu löschen, da es sich um sehr große Tiffs handelt, und ich möchte sie nicht in der Ausgabe haben. Ich kann Kopien der ursprünglichen Ordnerstruktur erstellen, sodass das Skript keine neue Ordnerstruktur für die Ausgabe erstellen muss. Es kann sich um ein Inplace-Überschreiben handeln.
Regmi

Wird besorgt! Eine Sache noch. Wenn ich einen Schalter wie -profile "sRGB.icc" hinzufüge, muss ich ihn im Befehl aufgrund der von mir verwendeten Anführungszeichen maskieren? Beispiel: für / r "C: \ ImageMagick-7.0.8-Q16 \ source"% a in ( . ) magick mogrify -profile "sRGB.icc" -resample 72 -resize 700x700 -format png "% ~ a"
Regmi

Ich habe es mir gedacht, keine Sorge. Der Befehl ist vollkommen korrekt, es sieht so aus, als ob das Hinzufügen des Profils zu PNG ein Problem ist.
Regmi
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.