OpenURLWith per Batch starten

  • Hallo @all..

    da der große Ansturm bezüglich Fx 57 wohl gelaufen ist, möchte ich meine alte Frage aus einem Thread doch noch mal rauskramen.
    Wir hatten das Thema hier schon mal besprochen:
    Re: userChrome.js Scripte für den Fuchs (Diskussion)
    Damit niemand das alles noch mal lesen muss hier eine Zusammenfassung um was es mir geht.

    Mit dem Script lässt sich ein Link in einem beliebigen Browser öffnen, was auch einwandfrei funktioniert solange man die exe Datei des Browsers ansprechen kann.

    Mir geht es aber darum, auch ein weiteres Profil meiner installierten Fx Version starten zu können.
    Dieses Profil hat ja keine exe Datei, sondern nur eine Verknüpfung:

    Code
    "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -no-remote -P  Test


    Also muss man es über eine Batch Datei starten.

    Die Frage also: Was muss in dieser Batch eingetragen werden?

    Die meisten gemachten Vorschläge funktionierten nicht richtig(trotzdem danke dafür).

    Der user Speravir hat dann einen Eintrag vorgeschlagen der schon fast perfekt funktioniert: :klasse:

    Code
    start /d "C:\Program Files (x86)\Mozilla Firefox" firefox.exe -no-remote -P "Neu" -url %*

    Damit öffnet sich zumindest das richtige Profil, allerdings mit einem kleinen Fehler noch.

    Beispiel:
    Auf der Startseite vom Forum mache ich einen Rechtsklick auf ein beliebiges Unterforum...Öffnen mit...und dann öffnet sich dieses Unterforum auch im richtigen Profil.

    Mache ich jedoch einen Rechtsklick auf der Startseite auf den letzten geschriebenen Beitrag, dann öffnet sich zwar das richtige Profil und ich lande auch im Forum, allerdings mit der Meldung: Seite nicht gefunden.

    Es also so, dass wohl nicht jeder Url (richtig) angesprochen bzw. verarbeitet wird :-??

    Es wäre toll wenn jemandem dazu etwas einfallen würde.

    Für jegliche Hilfe und Zeit von euch ganz herzlichen Dank.

  • Hm, vielleicht die Variable für die URL auch in Anführungszeichen setzen?

    Code
    start /d "C:\Program Files (x86)\Mozilla Firefox" firefox.exe -no-remote -P "Neu" -url "%*"
  • andy mein Jung,

    in meiner Batch steht:

    Code
    start /D "F:\Programme\Mozilla Firefox" firefox.exe -P Scripte -url "%URL3%"


    (der Anfangspfad ist für dich natürlich Latte und der Profilname ebenfalls)

    und der Rest oben drüber in der Batch:

    Code
    @echo off
    
    
    set MOZ_NO_REMOTE=1
    set URL1=%1
    set URL2=%URL1:&=^^^&%
    set URL3=%URL2:\=%

    Und damit (und natürlich über das von dir gemeinte Script) kann ich genau das hier

    Zitat von Hombre Andy

    Mache ich jedoch einen Rechtsklick auf der Startseite auf den letzten geschriebenen Beitrag, dann öffnet sich zwar das richtige Profil und ich lande auch im Forum, allerdings mit der Meldung: Seite nicht gefunden.

    problemlos schon jahrelang machen, natürlich korrekt und ohne Fehlermeldung.

    Aaaaber! Alles noch auf Win 7 und mit Fuchs 56!

  • Bei mir ebenfalls Win7. So funktioniert es hier bei mir, es ist extra nochmal getestet, und zwar sowohl in Fx 56 als auch Fx 57:

    Code
    @echo off
    
    
    cd /d "C:\Programme (x86)\Mozilla Firefox"
    start firefox.exe -no-remote -P "<Profil>" -url "%1"


    Das „/d“ in „cd /d …“ ist zwingend notwendig, wenn die Batch sich auf einem anderem Laufwerk befindet als das Firefox-Verzeichnis, stört aber nicht, wenn man nur ein Laufwerk hat. Beachte auch die Anführungszeichen um den Parameter am Ende. Als <Profil> muss man das eingeben, was man in about:profiles auslesen kann: „Profil: <Profil>“. Statt des Profilnamens kann man auch den vollständigen Pfad zum Profil angeben -P <Profil> durch -profile "Pfad\zum\Profil" ersetzen (ungetestet). Allgemein zur Mozilla-Kommandozeilensyntax siehe Command Line Options - Mozilla (MDN).

    Im Diskussionsthread zur userChrome.js hatte ich einen ähnlichen Aufruf wie loshombre präsentiert, und das funktionierte auch bei mir, aber nicht bei Andreas.

    Weil bei einem Batchaufruf immer kurz ein Kommandofenster aufpoppt, nutze ich aber stattdessen eine Linkdatei (Verknüpfung):

    • Verknüpfung zur Firefox.exe erzeugen, wo es einem am liebsten ist.
    • In die Eigenschaften der Verknüpfung hineingehen (Kontextmenü) und dort im Zielpfad am Ende die Parameter einfügen, aber ohne "%1".
    • Mit dem hier oben verwendeten Pfad sähe das dann so aus:

      Code
      "C:\Programme (x86)\Mozilla Firefox\firefox.exe" -no-remote -P "<Profil>" -url

    Diese Linkdatei ist bei mir im OpenUrlWith-Skript eingetragen und auch das funktioniert bestens, nur ohne zusätzliches Aufpoppen eines weiteren Fensters.

    Was ich bemerkt habe, ist, dass ich an dieses zweite Firefox-Fenster keine weiteren Aufforderungen per Skript zum Öffnen von Seiten schicken kann, das war meiner Erinnerung nach früher anders.

  • Linux-/Unix- und MacOSX-Nutzer werden sich für diese Aufgabe ein Shellscript schreiben. Entsprechend Command Line Options - Mozilla sollten sie als Parameter „-new-instance“ anstelle von „-no-remote“ nutzen, aber mehr als, dass dieser Parameter existiert, kann ich dazu nicht sagen.

  • Zitat

    Das „/d“ in „cd /d …“ ist zwingend notwendig, wenn die Batch sich auf einem anderem Laufwerk befindet als das Firefox-Verzeichnis,...


    Hmm, interessant. Denn bei mir liegt sie woanders rum und trotzdem scheint es zu funktionieren :-??

    Zitat

    Im Diskussionsthread zur userChrome.js hatte ich einen ähnlichen Aufruf wie loshombre präsentiert, und das funktionierte auch bei mir, aber nicht bei Andreas.


    A ok, dann vergiss hier den ganzen Quatsch von mir und sorry.

    Zitat

    Weil bei einem Batchaufruf immer kurz ein Kommandofenster aufpoppt, nutze ich aber stattdessen eine Linkdatei (Verknüpfung):


    Hat mich zwar nie sonderlich gestört, aber verbessern kann man ja immer was, wenn's geht.
    Werd ich beizeiten auf jeden Fall probieren :klasse:

  • Erstmal ganz herzlichen Dank für die Hilfe :klasse:

    Leider hat das alles noch nicht perfekt funktioniert.

    Wenn ich ein Unterforum anklicke klappt es und ich lande auf dieser Url:

    Code
    https://www.camp-firefox.de/forum/viewforum.php?f=16

    Klicke ich hingegen auf den letzten Beitrag von der Startseite aus lande ich mit der Fehlermeldung: Seite nicht gefunden bei dieser Url.

    Code
    https://www.camp-firefox.de/forum/viewtopic.php?f=16

    Der richtige Url wäre aber:

    Code
    https://www.camp-firefox.de/forum/viewtopic.php?f=16&p=1062295#p1062295

    D.h. also, es fehlt die Weiterleitung zu:
    &p=1062295#p1062295


    Verknüpfung zur Firefox.exe erzeugen


    Wenn ich eine exe anspreche funktioniert das einwandfrei, darum hatte ich ja hier umgestellt auf portable Fx Versionen.

    Es ist ja wohl auch nur noch eine Kleinigkeit die noch fehlt denke ich mal...nur die Weiterleitung gleich zu dem richtigen Link im Unterforum fehlt noch :-??

    Evtl. fällt ja jemandem noch etwas ein dazu....

    allen auf jeden Fall erstmal noch einen schönen Sonntag :D


  • Leider hat das alles noch nicht perfekt funktioniert.

    Wenn ich ein Unterforum anklicke klappt es und ich lande auf dieser Url:

    Code
    https://www.camp-firefox.de/forum/viewforum.php?f=16


    Klicke ich hingegen auf den letzten Beitrag von der Startseite aus lande ich mit der Fehlermeldung: Seite nicht gefunden bei dieser Url.

    Code
    https://www.camp-firefox.de/forum/viewtopic.php?f=16


    Der richtige Url wäre aber:

    Code
    https://www.camp-firefox.de/forum/viewtopic.php?f=16&p=1062295#p1062295

    D.h. also, es fehlt die Weiterleitung


    Hmm, bei mir (mit Verknüpfung) geht es. Extra getestet. :-??
    Nicht, dass es an Win/ vs. Win10 liegt.

    Bau doch einmal Loshombres magische Zeilen ein. Wenn ich meine Batch von oben nehme, sieht das dann so aus:

    Code
    @echo off & setlocal
    set URL1=%1
    set URL2=%URL1:&=^^^&%
    set URL3=%URL2:\=%
    
    
    cd /d "C:\Programme (x86)\Mozilla Firefox"
    start firefox.exe -no-remote -P "<Profil>" -url "%URL3%"


    Das „& setlocal“ ist nur zur Sicherheit eingebaut, das sollte bei der normalen Nutzung nicht zum Tragen kommen (wohl aber, wenn man die Batch testet und vielliecht mehrere Versionen von derselben Kommandozeile aus startet).

    Zitat


    Wenn ich eine exe anspreche funktioniert das einwandfrei, darum hatte ich ja hier umgestellt auf portable Fx Versionen.


    Das verstehe ich nicht. Ich muss doch sowieso eine exe ansprechen. Bei einer Batch sehe ich keinen Vorteil für eine Verknüpfung, man könnte aber eine Verknüpfung auf die cmd.exe anlegen darin als Parameter die Batch aufrufen, wichtig ist der Parameter /c.

    Code
    C:\Windows\System32\cmd.exe /c "<Vollständiger\Pfad\zur>\Batch.cmd"


    (Obwohl, ich merke gerade, dass ich die Batch auch direkt verknüpfen kann.)


    Hmm, interessant. Denn bei mir liegt sie woanders rum und trotzdem scheint es zu funktionieren :-??


    Ich hatte irgendwann einmal damit Probleme und baue es seitdem immer ein.

    Zitat


    A ok, dann vergiss hier den ganzen Quatsch von mir und sorry.


    Nüscht da, es gibt keinen Grund zur Entschuldigung. Erstens kann man das in dem Riesenthread auch übersehen und zweitens hast Du hier Deine URL-Zauberei präsentiert.

  • Damit es noch einmal prominenter aufgeführt ist:

    Batch, um den Edge mit einem Weblink zu starten, so wie wir es für das OpenUrlWith-Skript benötigen (vgl. auch Windows 10 - How to open URL in Microsoft Edge from the command line? in Stack Overflow:(

    Code
    start microsoft-edge:%1


    Vielleicht auch mal mit der URL-Trickserei von weiter oben testen.

    Und nicht zu vergessen:
    Das Skript selbst muss unter Umständen auch angepasst werden mit einer oder mehreren weiteren Konstanten

    Code
    const KONSTANTE_MIT_EINDEUTIGEM_NAMEN


    und weiter unten für jede neue Browserinstanz 3 Einträgen an der jeweils richtigen Stelle unter Beachtung der Klammerung und Kommasetzung.


  • Bau doch einmal Loshombres magische Zeilen ein


    Hallo Speravir...

    damit lande ich zwar dann auch im Forum, aber mit der schon genannten Fehlermeldung, und diesmal sogar wenn ich ein Unterforum direkt anklicke.

    Zitat

    Nicht, dass es an Win/ vs. Win10 liegt.


    Keine Ahnung ob das möglich wäre.

    Zitat

    Ich muss doch sowieso eine exe ansprechen.


    Ich möchte ja mein 2tes Profil der installierten Version ansprechen.
    Die exe dazu entspricht aber beiden Profilen der installierten Version.

    Also möchte ich mit einer Batch eben die Verknüpfung zum 2ten Profil starten.

    Code
    "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -no-remote -P  Neu


    Das funktioniert ja auch schon fast perfekt...es fehlt hier nur die letzte Weiterleitung. :-??

    Bei meinen portablen Versionen kann ich ja die jeweilige exe vom Loader ansprechen, das funktioniert einwandfrei.
    Genau wie ich die exe vom IE oder von Chrome ansprechen kann und alles funktioniert.


  • Ich möchte ja mein 2tes Profil der installierten Version ansprechen.
    Die exe dazu entspricht aber beiden Profilen der installierten Version.

    Also möchte ich mit einer Batch eben die Verknüpfung zum 2ten Profil starten.

    Code
    "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -no-remote -P  Neu


    Einer von uns zweien steht immer noch auf dem Schlauch. Für dieselbe (Firefox-)Exe-Datei eine weitere Verknüpfung anzulegen und darin dann das andere Profil anzusprechen und für diese zusätzliche Verknüpfung das Skript zu erweitern funktioniert bei dir nicht? Bei mir nämlich schon, vorausgesetzt, „-no-remote“ ist als Parameter enthalten!

  • Damit starte ich mein Standard Profil.

    Code
    "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -no-remote -P "default"

    Das ist mein 2tes Profil:

    Code
    "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -no-remote -P  "Neu"

    Ich kann beide starten..beide gleichzeitig nutzen....alles ist ok damit.

    Ich möchte per Batch Datei aus dem "default" Profil....das Profil "Neu" starten.

    Eine Batch aus dem Grund, weil ein Eintrag im Script: Öffnen mit..in dieser Form

    Code
    "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -no-remote -P  "Neu"


    nicht funktioniert:

    Und dieser Eintrag in der Batch funktioniert ja auch schon fast perfekt:

    Code
    start /d "C:\Program Files (x86)\Mozilla Firefox" firefox.exe -no-remote -P "Neu" -url %*


    Er öffnet das gewollte Profil, nur den URL nicht immer korrekt.


  • Und dieser Eintrag in der Batch funktioniert ja auch schon fast perfekt:

    Code
    start /d "C:\Program Files (x86)\Mozilla Firefox" firefox.exe -no-remote -P "Neu" -url %*


    Er öffnet das gewollte Profil, nur den URL nicht immer korrekt.


    Das ist die Form, wie ich sie im anderen Thread vorgeschlagen habe. Ich habe dabei aber nicht an mögliche spezielle Zeichen gedacht, die in einer URL vorkommen können (wie „&“). (Und nebenbei: Also stand ich selbst auf dem Schlauch.)

    Es könnte schon teilweise helfen, den Parameter am Ende in Anführungszeichen zu setzen, also so: "%*" (oder doch wieder zurück zu "%1"). Teste doch sonst ernsthaft einmal die Variante von Loshombre oder eine Verknüpfung.

  • Hallo Speravir...

    danke für deine Hilfe.
    Ich habe jetzt alle Varianten noch mal getestet....es funktioniert nicht.

    Es bleibt immer dabei dass die Weiterleitung zu &p=1062295#p1062295 nicht funktioniert.

    Dann bleibt mir eben nur weiterhin die Nutzung meiner eingetragenen portablen Versionen.

    Noch mal herzlichen Dank an alle die mir helfen wollten bzw. geholfen haben. :klasse:

  • Ich habe auf Bitte von Andreas das Script von ardiman etwas verändert. Wenn man den Firefox verwendet und mehrere Profile hat, öffnet sich nun der Profilemanager und man kann das Profil auswählen. Eine Batch-Datei wird nicht benötigt.

    Bei mir und bei Andreas funktioniert das soweit.

    Dennoch ein Hinweis. Ich habe nicht viel Zeit investiert. Den Code gibt's also ohne Gewähr und Wartung.


  • Vorweg auch hier herzlichen Dank dafür :klasse:


    öffnet sich nun der Profilemanager


    Ergänzend dazu, wenn man nur 1 zusätzliches Profil verwendet, und im Profilmanager den Haken gesetzt hat: Ohne Nachfrage starten
    dann öffnet sich diese Profil gleich.

    Bei mehreren Profilen muss man den Haken entfernen, dann kann man sich ein Profil aussuchen.