ifexists

Hilfe zu verschiedenen Themen
Antworten
Benutzeravatar
josinoro
Supporter
Beiträge: 355
Registriert: 10. Nov 2021 20:56

ifexists

Beitrag von josinoro »

Wieso kann ich die Abfrage nicht in der Form des Programmaufrufs machen?

@ifexists:"{apppath|VLC.exe}\VLC.exe"
"{apppath|VLC.exe}\VLC.exe" {filepath}


Stattdessen muss ich den Pfad in der Abfrage absolut angeben.
Benutzeravatar
tbone
Supporter
Beiträge: 698
Registriert: 29. Okt 2021 00:45

Re: ifexists

Beitrag von tbone »

In welchen String löst denn {apppath|VLC.exe} auf!?..
Benutzeravatar
josinoro
Supporter
Beiträge: 355
Registriert: 10. Nov 2021 20:56

Re: ifexists

Beitrag von josinoro »

Hallo tbone,

deine Frage kann ich dir nicht beantworten. Ich habe das von irgendeinem Schalter kopiert.
Der Aufruf funktioniert jedenfalls mit einigen Programmen. Von daher bin ich davon ausgegangen, dass auch die Überprüfung in der Art funktioniert.
Benutzeravatar
Hardkorn
Supporter
Beiträge: 341
Registriert: 28. Okt 2021 00:43

Re: ifexists

Beitrag von Hardkorn »

Hallo,

vielleicht liegt es daran.

"Caveat: Not all apps register an app-path, unfortunately. It's worth knowing about for some apps though, definitely."

https://resource.dopus.com/t/can-one-te ... ed/20766/5
Benutzeravatar
tbone
Supporter
Beiträge: 698
Registriert: 29. Okt 2021 00:45

Re: ifexists

Beitrag von tbone »

Dann gib den String doch mal in der Konsole aus und guck Dir den an? Mit @debug oder "Say" Script-Addin oder DOpus.Output()..

Du schreibst zu Deinen 2 Zeilen nicht, ob das jetzt die Variante ist, die funktioniert oder die, die nicht funktioniert, ist vermutlich die, die nicht funktioniert, weil kein absoluter Pfad zu sehen ist?

Vielleicht mal mit "noterm" versuchen? Blöderweise gibt DO "by default" alle Pfade immer mit trailing Slash am Ende zurück, "noterm" verhindert das. Sollte der Pfad also in irgendwas auflösen, hast Du aktuell zwei "\" im Pfad hintereinander. Das muss nicht die Ursache / Störung sein, ist aber schonmal unsauber.
Benutzeravatar
josinoro
Supporter
Beiträge: 355
Registriert: 10. Nov 2021 20:56

Re: ifexists

Beitrag von josinoro »

Hallo Hardkorn, hallo tbone,

vielen Dank für eure Antworten.

Es überrascht mich etwas, dass das Problem schon so alt ist.

Sowohl @output, als auch say liefern den kompletten, richtigen Pfad als Ergebnis.
Dabei spielt es keine Rolle, ob die Anweisung oder der zu übergebende Dateipfad in Hochkomma steht oder nicht.
Auch Datei- und/oder Pfadnamen mit Leerzeichen werden richtig verarbeitet. Nur die Verbindung @ifexists mit apppath geht nicht.

2026-06-26_12h09_31.png
2026-06-26_12h09_31.png (18.01 KiB) 6466 mal betrachtet
2026-06-26_12h22_56.png
2026-06-26_12h22_56.png (15.52 KiB) 6466 mal betrachtet

Vielleicht taucht ja bald eine Lösung auf. Ansonsten muss ich etliche Pfadangaben "händisch" pflegen.
Benutzeravatar
josinoro
Supporter
Beiträge: 355
Registriert: 10. Nov 2021 20:56

Re: ifexists

Beitrag von josinoro »

Wenn man Variablen verwendet, funktioniert alles, bis auf @ifexists.
Die Variablenzuweisung mittels @evalalways bekomme ich nicht hin.

grafik.png
grafik.png (18.21 KiB) 6463 mal betrachtet
Benutzeravatar
tbone
Supporter
Beiträge: 698
Registriert: 29. Okt 2021 00:45

Re: ifexists

Beitrag von tbone »

Du hast {apppath|VLC.exe} immer noch nicht separat ausgegeben und dem "noterm" Hinweis bist Du auch nicht gefolgt.
josinoro hat geschrieben: 26. Jun 2026 12:49 Vielleicht taucht ja bald eine Lösung auf. Ansonsten muss ich etliche Pfadangaben "händisch" pflegen.
Ich würde da eher einen Bug-Report machen.. auf eine Selbstheilung warten wird da vermutlich nicht klappen.

Ich habe {apppath|..} noch nie verwendet. Ich mach' das über "Aliase", die ich DO an einer Stelle überblicken / ändern kann. So ein VLC und fast alle Tools dieser Art laufen ja ohne Installation aus den jeweiligen Ordnern heraus. Also wohnt der VLC seit xx Jahren in "D:\run\play\VLC_vX.YZ" bei mir. Laufwerk D:\ mit den Programmen wird bei einer Windows-Neuinstallation einfach komplett rüberkopiert, DO installiert und dann funktioniert zu 99% alles, ohne das ich 100 weitere Installer ausführen muss. Ist jetzt nur so eine Nebenbei-Information, das löst die Problematik mit {apppath} nicht direkt, aber vielleicht indirekt. o)

Was soll der Button denn genau erledigen? "Irgendeinen" Player öffnen, von einer Untermenge an Playern die existieren, die Du für "wahrscheinlich installiert" hälst? Wenn man nicht weiß, welche Player "drauf" sind, kann man statt raten ja auch den Default-Player öffnen und das ganze "ifexists" komplett umgehen. Aber.. ich weiß nicht genau, was Dein Plan ist.
Benutzeravatar
josinoro
Supporter
Beiträge: 355
Registriert: 10. Nov 2021 20:56

Re: ifexists

Beitrag von josinoro »

tbone hat geschrieben: 26. Jun 2026 14:03 Du hast {apppath|VLC.exe} immer noch nicht separat ausgegeben und dem "noterm" Hinweis bist Du auch nicht gefolgt.
Die Ausgabe ist fehlerfrei, noterm bringt keine Änderung.
tbone hat geschrieben: 26. Jun 2026 14:03 Ich würde da eher einen Bug-Report machen.. auf eine Selbstheilung warten wird da vermutlich nicht klappen.
Ich bin zwar ein gläubiger Mensch, aber daran glaube ich auch nicht. Da schwang eher die Hoffnung, dass das anderweitig entdeckt oder gemeldet wird, mit.
tbone hat geschrieben: 26. Jun 2026 14:03 Ich habe {apppath|..} noch nie verwendet. Ich mach' das über "Aliase", die ich DO an einer Stelle überblicken / ändern kann. ...
Auch ein guter Denkansatz.
tbone hat geschrieben: 26. Jun 2026 14:03 Was soll der Button denn genau erledigen? ...
Jetzt habe ich mich mal, aufgrund deiner Schimpfe, so kurz wie möglich geäußert ... :D
Tatsächlich sollen Alternativprogramme ausgewählt werden, wenn ein bevorzugtes Programm nicht vorhanden ist.
Antworten