Benutzerschaltfläche mit "<selitem>";

Please check the FAQ (https://www.xyplorer.com/faq.php) before posting a question...
Post Reply
Helmex
Posts: 28
Joined: 04 Oct 2019 17:19

Benutzerschaltfläche mit "<selitem>";

Post by Helmex »

Hallo.
Ich möchte ein externes Programm im folgenen Format starten:
"C:\Mein Programm\Programm.exe" "C:\Datei1.txt" "C:\Datei2.txt" (markierte Dateien)

Ich habe folgendes in die Benutzerschaltfläche eingetragen:
run """C:\Mein Programm\Programm.exe """"<selitem>"""
Damit übergebe ich allerding nur einen Parameter. Um nun 2 Parameter zu übergeben habe ich das versucht:
run """C:\Mein Programm\Programm.exe """""<selitem>;""""
und das funktioniert leider nicht...

Was mache ich falsch?

VG Helmex

highend
Posts: 14571
Joined: 06 Feb 2011 00:33
Location: Win Server 2022 @100%

Re: Benutzerschaltfläche mit "<selitem>";

Post by highend »

<selitem> ist maximal die erste selektierte Datei.

<selitems> enthält dagegen alle...

Code: Select all

run """C:\Mein Programm\Programm.exe"" <selitems>";
One of my scripts helped you out? Please donate via Paypal

Helmex
Posts: 28
Joined: 04 Oct 2019 17:19

Re: Benutzerschaltfläche mit "<selitem>";

Post by Helmex »

TOP - Besten Dank auch.
VG

Helmex
Posts: 28
Joined: 04 Oct 2019 17:19

Re: Benutzerschaltfläche mit "<selitem>";

Post by Helmex »

Der Skript funktioniert bei Ordnern bestens. Aber wie übergebe ich den Pfadanteil
wenn Dateien gewählt wurden?
Bei eines Datei klappt dies ganz gut

Code: Select all

if (exists(<curitem>) == "1") {#103} else {#101}
Abei wie extrahiere ich den Pfad aus <selitem> ?

highend
Posts: 14571
Joined: 06 Feb 2011 00:33
Location: Win Server 2022 @100%

Re: Benutzerschaltfläche mit "<selitem>";

Post by highend »

Sowas in der Art?

Code: Select all

$items = trim(report("{fullname}{dir \}<crlf>", 1), <crlf>, "R");
    $items = regexreplace(regexreplace($items, "^(.+\\)(.*)?$", "$1"), "\\$");
    copytext $items;
One of my scripts helped you out? Please donate via Paypal

Helmex
Posts: 28
Joined: 04 Oct 2019 17:19

Re: Benutzerschaltfläche mit "<selitem>";

Post by Helmex »

Hi highend,
klappt super, vielen Dank!
Nun muß ich die Einträge formatieren.
Das Ergebnis muß so aussehen:
run "C:\Mein Programm\Programm.exe" "Ordner1" "Ordner2" (mit ")
Ich habe mit gettoken($items,1,<crlf>) die einzelnen Zeilen zu extrahieren versucht,
aber leider findet gettoken <crlf> nicht.
Gibt es eine Möglichkeit die Zeilen direkt abzufragen? zB. line1 ... line2

Ich habe noch diesen Code probiert:

Code: Select all

$items = trim(report("{fullname}{dir \}<crlf>", 1), <crlf>, "R");
    $o1 = substr(gettoken($items,1,<crlf>),0,strpos(gettoken($items,1,<crlf>),"\",-1));
    $o2 = substr(gettoken($items,2,<crlf>),0,strpos(gettoken($items,2,<crlf>),"\",-1));
    text """C:\mein Programm.exe"" ""$o1"" ""$o2"""
Was hälst du davon?

highend
Posts: 14571
Joined: 06 Feb 2011 00:33
Location: Win Server 2022 @100%

Re: Benutzerschaltfläche mit "<selitem>";

Post by highend »

Du meinst das?

Code: Select all

$items = <get SelectedItemsPathNamesSlashed>;
    $items = regexreplace($items, "^(.+)\\(.*?)?(?=\r?\n|$)", "$1"); // Paths only, no file part(s)
    $items = '"' . replace($items, <crlf>, '" "') . '"';
    text """C:\mein Programm.exe"" $items";
SelectedItemsPathNamesSlashed braucht v21.30.0039...
One of my scripts helped you out? Please donate via Paypal

Helmex
Posts: 28
Joined: 04 Oct 2019 17:19

Re: Benutzerschaltfläche mit "<selitem>";

Post by Helmex »

PERFEKT! Vielen Dank

Post Reply