hüpferl: Batchkonvertierung per Kontextmenü (und IrfanView?)

Servus allerseits,

ich wäre sehr dankbar für Hilfe bei folgendem Problem:
Ich habe immer wieder platzverschwendende Bitmaps, die als PNGs viel praktischer sind.
Statt jetzt jedes Mal IrfanView zum konvertieren zu öffnen, wie ich es momentan mache, hätte ich gerne einen eigenen Kontextmenüeintrag, den ich allerdings gerne ohne Fremdsoftware hinzufügen würde.

Ich weiß bereits, dass es "HKEY_CLASSES_ROOT.bmp" gibt und ich weiß, dass man lt. http://www.chip.de/artikel/c_druckansicht_10818311.html IrfanView per Batch steuern kann.

Allerdings wollte mir google bei den von mir verwendeten Keywords nur Fremdsoftware andrehen und nichts über betreffenden Registry-Eintrag verraten...

Hoffe auf baldige Hilfe,
Hüpferl

PS: Toll wäre, wenn das auch bei mehreren gleichzeitig ausgewählten Dateien funktioniert und ein ganz besonderes Schmankerl wäre natürlich, per Kontextmenüeintrag ganze Ordner so behandeln zu können!

  1. Hi,

    Allerdings wollte mir google bei den von mir verwendeten Keywords nur Fremdsoftware andrehen und nichts über betreffenden Registry-Eintrag verraten...

    evtl hilft die das hier weiter. Müsste ohne Fremdsoftware sein, habs nur überflogen *duck*

    Grüße

    1. Hi,

      Servus

      Allerdings wollte mir google bei den von mir verwendeten Keywords nur Fremdsoftware andrehen und nichts über betreffenden Registry-Eintrag verraten...
      evtl hilft die das hier weiter. Müsste ohne Fremdsoftware sein, habs nur überflogen *duck*

      Genau, des is eigentlich das richtige. Allerdings erscheint mein Dummy-Eintrag hier auf meinem englischen WinXP nich (mein momentan nicht funktionierender Produktivrechner hat n dt. XP):
      Während das dem Vorschlag ähnliche 1 ohne Neustart erscheint (allerdings ne Fehlermeldung mit "Access Denied" und dem Pfad des Ordners, in dessen Kontextmenü ich meinen neuen Eintrag auswählte, ausspuckt), wird bei 2 nichts sichtbar.
      In Anlehnung an 4 hab ich auch mal 3 probiert, aber das hat auch zu nichts geführt. Weder bei BMPs, noch bei anderen Bildern. Und zwar nicht mal, als ich Bitmaps mit IrfanView assoziiert hatte.

      Weiß wer bescheid?
      Vielen Dank

      Grüße

      Ebenfalls

      @="&Windows-Ordner öffnen"

      [HKEY_CLASSES_ROOT\Folder\shell\winfold\command]
      @=""Explorer.exe C:\\Windows""

      @="zu PNG konvertieren"

      [HKEY_CLASSES_ROOT.bmp\Shell\convert\command]
      @=""E:\Program Files\IrfanView\i_view32.exe" "%1""

      @="zu PNG konvertieren"

      [HKEY_CLASSES_ROOT\Applications\i_view32.exe\shell\convert\command]
      @=""E:\Program Files\IrfanView\i_view32.exe" "%1""

      [HKEY_CLASSES_ROOT\Applications\ois.exe\shell\Preview\command]
      @="E:\PROGRA~1\MICROS~1\OFFICE11\OIS.EXE /shellPreview "%1""

      1. Hallo,

        Allerdings erscheint mein Dummy-Eintrag hier auf meinem englischen WinXP nich (mein momentan nicht funktionierender Produktivrechner hat n dt. XP):

        die Sprachversion ist für derartige Eingriffe völlig belanglos. Ich erlaube mir mal, deine diversen Versuche zu kommentieren.

        @="&Windows-Ordner öffnen"

        [HKEY_CLASSES_ROOT\Folder\shell\winfold\command]
        @=""Explorer.exe C:\\Windows""

        Während das dem Vorschlag ähnliche 1 ohne Neustart erscheint (allerdings ne Fehlermeldung mit "Access Denied" und dem Pfad des Ordners, in dessen Kontextmenü ich meinen neuen Eintrag auswählte, ausspuckt)

        Kein Wunder. Du verlangst von Windows, eine ausführbare Datei namens "Explorer.exe C:\Windows" zu öffnen - achte genau darauf, wo du die Anführungszeichen setzt! Und du möchtest eigentlich
          explorer.exe "C:\Windows"
        als Wert haben!
        Nebenbei: Ich würde den Eintrag nicht unter HKCR\Folder machen, sondern unter HKCR\Directory, denn Folder gilt dann auch für alle virtuellen Verzeichnisse wie Systemsteuerung, Papierkorb, Netzwerkumgebung etc., denen nicht direkt ein physisches Verzeichnis entspricht.

        @="zu PNG konvertieren"

        [HKEY_CLASSES_ROOT.bmp\Shell\convert\command]
        @=""E:\Program Files\IrfanView\i_view32.exe" "%1""

        wird bei 2 nichts sichtbar.

        Auch kein Wunder, aber hier ist der Fall etwas hinterhältiger. Denn der Schlüssel HKCR.bmp enthält nicht die für diesen Dateityp vorgesehenen Einstellungen, sondern nur eine "Weiterleitung". In HKCR.bmp steht bei einem frisch installierten Windows der Wert "Paint.Picture", und das ist der Name des Schlüssels, in dem die wirklichen Einstellungen stehen. Wozu der Umweg? Windows macht das bei sehr vielen Dateitypen, um für mehrere Extensions dieselben Einstellungen zu hinterlegen.

        @="zu PNG konvertieren"

        [HKEY_CLASSES_ROOT\Applications\i_view32.exe\shell\convert\command]
        @=""E:\Program Files\IrfanView\i_view32.exe" "%1""
        hab ich auch mal 3 probiert, aber das hat auch zu nichts geführt.

        Ich habe, ehrlich gesagt, noch nicht herausgefunden, was der Schlüssel HKCR\Applications für einen Sinn hat und welche Funktion wann darauf zugreift.

        So long,
         Martin

        --
        Schon gewusst, dass Aftershave trotz des Namens eigentlich eher fürs Gesicht gedacht ist?
        1. Hallo,

          Servus,

          jetz hab ich mit [5] und [6] eigtl, was ich will, nur bleiben die original-Bitmaps erhalten
          IrfanViews Kommandozeile scheint da keine Hilfe anzubieten und ich hab auch keine Ahnung, wie ich da n "del %1" o.ä. anhängen sollte....
          Muss ich da den Umweg über ne *.bat oder *.cmd gehen?

          die Sprachversion ist für derartige Eingriffe völlig belanglos.

          Hatte ich auch vermutet, aber manchmal gibts ja so ziemlich Unerklärliches...

          Ich erlaube mir mal, deine diversen Versuche zu kommentieren.

          Sehr, sehr gerne

          [1]:

          [...]

          Kein Wunder [...] du möchtest eigentlich
            explorer.exe "C:\Windows"
          als Wert haben!

          ah, nachvollziehbar ;) danke

          Ich habe, ehrlich gesagt, noch nicht herausgefunden, was der Schlüssel HKCR\Applications für einen Sinn hat und welche Funktion wann darauf zugreift.)

          Aber ansonsten kennste dich ja perfekt aus:

          Folder gilt dann auch für alle virtuellen Verzeichnisse wie Systemsteuerung, Papierkorb, Netzwerkumgebung etc [...]
          der Schlüssel HKCR.bmp enthält [...] nur eine "Weiterleitung".[...] um für mehrere Extensions dieselben Einstellungen zu hinterlegen.

          Servus und so weit schonmal Danke,
          hüpferl

          PS: Die verschiedenen Programmverzeichnisse liegen an den untersch. Rechnern. Das is jetz mein Produktivrechner...

          [5] ("$N" ist IrfanViews Variable für den Dateinamen ohne Endung)
          [HKEY_CLASSES_ROOT\Paint.Picture\shell\convertPNG]
          @="zu &PNG konvertieren"

          [HKEY_CLASSES_ROOT\Paint.Picture\shell\convertPNG\command]
          @=""C:\Programme\IrfanView\i_view32.exe" "%1 /convert=$N.png""

          [6]
          [HKEY_CLASSES_ROOT\Directory\shell\bmp2png]
          @="&Bitmaps in PNGs konvertieren"

          [HKEY_CLASSES_ROOT\Directory\shell\bmp2png\command]
          @=""C:\Programme\IrfanView\i_view32.exe" "%1\*.bmp /convert=%1\*.png""

          1. Hi,

            jetz hab ich mit [5] und [6] eigtl, was ich will, nur bleiben die original-Bitmaps erhalten

            das hätte ich erwartet.

            IrfanViews Kommandozeile scheint da keine Hilfe anzubieten

            Anscheinend nicht. Das überrascht mich nun; ich hätte einen Switch erwartet, der auf Wunsch die Originaldatei löscht.

            Muss ich da den Umweg über ne *.bat oder *.cmd gehen?

            Das ist eine Möglichkeit. Aber wenn du doch die Konvertierung eh aus dem Windows-Explorer heraus aufrufst, ist es doch wenig Aufwand, nach der Konvertierung nochmal das verzeichnis anzuzeigen, alle BMP-Datein zu markieren (erste anklicken, Shift-Taste gedrückt halten, letzte anklicken) und zu löschen. Ehrlich gesagt, ich würde das als manuellen Schritt machen, anstatt jetzt auch noch eine Batchdatei in den Ablauf einzupflegen.

            Ich habe, ehrlich gesagt, noch nicht herausgefunden, was der Schlüssel HKCR\Applications für einen Sinn hat und welche Funktion wann darauf zugreift.)
            Aber ansonsten kennste dich ja perfekt aus

            Naja, zwölf Jahre intimer Umgang mit Windows hinterlassen ihre Spuren. ;-)
            Wenn man Windows 3.x mitzählen möchte, sind's eigentlich sogar 17 Jahre. Aber die Windows-Versionen bis 3.11 waren ja wirklich nur graphische Oberflächen für DOS und technisch vollkommen anders gestrickt als Version 4 (vulgo "Windows 95" bzw. "NT 4.0") und höher.

            [HKEY_CLASSES_ROOT\Paint.Picture\shell\convertPNG\command]
            @=""C:\Programme\IrfanView\i_view32.exe" "%1 /convert=$N.png""

            Auch hier wieder falsch: Die Ausdrücke "%1" und "$N.png" müssen getrennt in Anführungszeichen stehen, es sind doch zwei separate Parameter!

            [HKEY_CLASSES_ROOT\Directory\shell\bmp2png\command]
            @=""C:\Programme\IrfanView\i_view32.exe" "%1\*.bmp /convert=%1\*.png""

            Dito.

            Ciao,
             Martin

            --
            Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Beim Universum bin ich mir aber nicht ganz sicher.
              (Albert Einstein, deutscher Physiker)
            1. Hi,

              Servus

              Muss ich da den Umweg über ne *.bat oder *.cmd gehen?
              Das ist eine Möglichkeit. Aber [...] ich würde das als manuellen Schritt machen[...]

              Kann man irgendwie mehrere Befehle in den "command"-Eintrag bringen?
              innerhalb der Standard- oder mit zusätzlicher Zeichenfolge?

              [HKEY_CLASSES_ROOT\Paint.Picture\shell\convertPNG\command]
              @=""C:\Programme\IrfanView\i_view32.exe" "%1 /convert=$N.png""
              Auch hier wieder falsch: Die Ausdrücke "%1" und "$N.png" müssen getrennt in Anführungszeichen stehen, es sind doch zwei separate Parameter!

              Es funktioniert.

              Toll wärs natürlich noch wahlweise (=eigener Eintrag) auch für Unterordner.
              "C:\Programme\IrfanView\i_view32.exe" "%1\\.bmp /convert=%1\\.png"
              geht nicht

              Servus