Announcement

Collapse
No announcement yet.

Über Kommandozeile Bilder in unterschiedlichen Ordnern verkleinern

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Über Kommandozeile Bilder in unterschiedlichen Ordnern verkleinern

    Hallo zusammen,

    ich habe einen Ordner mit sehr vielen Unterordnern. In diesen Ordnern befinden sich sehr viele Bilder, die ich verkleinern möchte. Kann ich über die Kommandozeile den Überordner angeben damit Irfanview alle Bilder auch in den ganzen Unterordnern verkleinert? Oder wie könnte ich es realisieren (skript..?)?

    Gruss

    Mo

    #2
    Hallo,

    schau mal im Menü "Datei", da gibt es eine Batchkonvertierung, die dir das ermöglicht.

    Gruß, Nils.

    Comment


      #3
      Hi Mo,

      Manche Spezial-Optionen der Batch-Konvertierung funktionieren nicht per Kommandozeilen-Optionen!

      Siehe dazu auch die Hinweise im Programm-Menü von IrfanView unter: \Hilfe\IrfanView Hilfe\ im Index unter dem Schlüsselwort: "Kommandozeilen-Optionen"!


      mfG
      Frank
      Attached Files

      Comment


        #4
        Mittels eines Batch-Skriptes (sowohl Pfadangaben als auch IrfanView-Bearbeitungsparameter sind vor Ausführung den persönlichen Erfordernissen anzupassen) geradezu ein Kinderspiel.


        Beispiel:
        @echo off
        cls
        setlocal

        echo.

        if not "%1"=="" (
        echo Konvertierung . . .
        for /r "%1" %%a in (*.*) do (
        C:\IrfanView\i_view32.exe %%a /resize_long=300 /aspectratio /resample /convert="%%a"
        )
        echo.
        echo Konvertierung abgeschlossen.
        ) else (
        echo Kein Pfad angegeben!
        )

        echo.
        echo.

        endlocal
        »Und so, in eurer Verzweiflung, kommt ihr zu mir.«

        Texteditor EmEditor:
        Deutsche Sprachdatei (v7.01) für EmEditor Pro 7.02 (englisch)
        EmEditor Pro 8.06 (deutsch) | Deutsche Sprachdatei (v8) für EmEditor Pro 8.06 (englisch)
        Deutsche Sprachdatei (v9.16) für EmEditor Pro 9.17 (englisch)

        Comment


          #5
          Vielen dank für eure Antworten. Ich konkretisiere mein Problem mal.
          Ich brauche also ein Skript, dass rekursiv Ordner nach Bildern durchsucht und diese verkleinert. Es muss aber über die Kommandozeile aufrufbar sein. Es befinden sich in über 1000 Unterordnern mehrere 100000 Bilder. Eine wirkliche vorstellung wie ich es realisieren kann hab ich nicht :-/

          Gruss

          Mo

          Comment


            #6
            Hallo,

            naja, möglich ist da per Skript natürlich schon. Willst du die vorhandenen Bilder überschreiben (davon würde ich abraten), oder mit einem neuen Dateinamen versehen (würde ich so auch nicht machen) oder den Verzeichnisbaum im Prinzip kopieren (wäre meine Präferenz)?
            Weiterhin wäre es interessant zu wissen, wie du verkleinern möchstest: alle Bilder auf eine bestimmte Größe (z.B. 320x200 Pixel) oder nur die Breite vorgeben, die Höhe proportional berechnen lassen, oder nur die lange Seite vorgeben?
            Welche Dateitypen erwartest du? Nur JPG oder viele Bildformate, sind dort auch andere Dateien enthalten, z.B. Textdateien oder Powerpoint-Präsentationen?

            Das von Foxy genannte Skript kann recht einfach erweitert werden.

            Gruß, Nils.

            Comment


              #7
              Hallo Nils,

              also die Bilder sollen überschrieben werden. Die Breite soll eingegeben und die Höhe dann proportional berechnet werden. Es befinden sich noch andere Dokumente in diesen Ordnern. Schonmal vielen Dank.

              Gruss

              Mo

              Comment


                #8
                Die Breite pro Verzeichnis eingeben oder im Skript vorgegeben?
                Welche Dateitypen sollen umgewandelt werden?

                Comment


                  #9
                  Die Breite soll im Skript vorgegeben werden da sind wir uns noch nicht ganz einig welchen Wert wird da nehmen. Es sind nur jpg Bilder.

                  Comment


                    #10
                    Code:
                    @echo off
                    cls
                    setlocal
                    
                    rem Pfad fuer IrfanView
                    set iview="%ProgramFiles%\IrfanView\i_view32.exe"
                    
                    rem Dateityp
                    set filetype=*.jpg
                    
                    rem Breite
                    set width=1000
                    
                    rem JPEG-Qualitaet
                    set quality=100
                    
                    if not exist %iview% goto noIview
                    if "%~1"=="" goto fehler
                    
                    echo Konvertierung . . .
                    for /r "%~1" %%a in (%filetype%) do (
                     echo Datei %%a
                     start /wait "IView" %iview% "%%a" /resize_long=%width% /aspectratio /resample /jpgq=%quality% /convert="%%a"
                    )
                    
                    echo.
                    echo Konvertierung abgeschlossen.
                    goto end
                    
                    :fehler
                    echo Kein Pfad angegeben!
                    goto end
                    
                    :noiview
                    echo IrfanView wurde nicht im angegebenen Pfad gefunden:
                    %iview%
                    goto end
                    
                    :end
                    pause
                    endlocal
                    Hier müsstest du nur die Zeilen für den Pfad, die Bildbreit und die JPEG-Qualität anpassen. Ansonsten entspricht das hier dem Skript von Foxy.
                    Wenn kleine Dateien nicht vergrößert werden sollen, wird es etwas aufwändiger.

                    Ach ja, den Code in eine Datei, z.B. resizeJPG.cmd, speichern und einfach das gewünschte Verzeichnis darauf ziehen. Es wird das Verzeichnis sowie alle Unterverzeichnisse bearbeitet.
                    Last edited by derniwi; 17.07.2010, 08:06 AM.

                    Comment


                      #11
                      Super, vielen Dank. Sieht schonmal sehr gut aus. Funktioniert leider nicht richtig :-/

                      Fehlermeldung:

                      "The system cannot find the batch label specified - fehler"

                      Comment


                        #12
                        Ups... ja, hab's korrigiert...
                        Aber ein Fehler darf nicht auftreten... ;-)

                        Comment


                          #13
                          Originally posted by derniwi View Post
                          Ups... ja, hab's korrigiert...
                          Aber ein Fehler darf nicht auftreten... ;-)
                          Funktioniert leider nicht wenn ich einen Ordner auf die Datei ziehe öffnet und schließt sich kurz ein Fenster.

                          Comment


                            #14
                            Ok, ich habe nochmal eine Änderung im Skript vorgenommen, würdes du es bitte erneut testen?

                            Comment


                              #15
                              Hallo Nils,

                              funktioniert super danke!! Ist es irgendwie möglich, dass nur Bilder die größer sind als die eingegebene Breite verkleinert werden? Also kleine Bilder sollen nicht vergrößert werden, was hier automatisch geschieht

                              Gruss

                              Mo

                              Comment

                              Working...
                              X