Code: Select all
$sel = get("SelectedItemsPathNames");
if ($sel == "") { msg "No file selected."; exit; }
$numSel = count(split($sel, "\n"));
// Build menu manually as here-doc-like string (safe)
$menu = "";
// Define apps: [name, exe, mode]
@entries = (
["Notepad++", "<xydrive>\\Portables\\~Viewers\\notepad++\\notepad++.exe", "any"],
["ImHex", "<xydrive>\\Portables\\~Viewers\\ImHex\\ImHexPortable.exe", "single"]
);
foreach ($entry in @entries) {
$name = $entry[0];
$exe = $entry[1];
$mode = $entry[2];
if (!exists($exe)) { continue; }
if ($mode == "single" && $numSel > 1) { continue; }
// Escape backslashes for safety (though usually not needed)
// Use single quotes inside run '' to avoid escaping
$cmd = "run '" . $exe . " <selitems>'";
$menu .= $name . "|" . $cmd . "|" . $exe . "\n";
}
if ($menu == "") {
msg "No apps available.", "POM";
exit;
}
$chosen = popupnested($menu,,,,,,,|);
if ($chosen != "") {
load $chosen,, s;
}
XYplorer Beta Club