The next code working (PM2017)
FUNCTION Main( STRING $Selected ) {
STRING LIST $ToolNames = {}
CALL Get_Tool_List($Selected, $ToolNames)
STRING $FULL = ''
STRING $DIR = ''
DIALOGS MESSAGE OFF
FOREACH $T IN $ToolNames {
$FULL = $pathname('tool', '$T')
$DIR = $dirname($FULL)
IF $DIR != 'Tool' {
STRING Cmd="EDIT FOLDER '"+$DIR+"' REMOVE '"+$T+"'"
DoCommand $Cmd
}
}
}
FUNCTION Get_Tool_List(
STRING $Selected
OUTPUT STRING LIST $Selected_Tools
)
{
IF $powermill.Status.MultipleSelection.total == 0 OR $powermill.Status.MultipleSelection.First {
IF NOT member(project._keys,"Multiple_Selected_Names") {
EDIT PAR CREATE STRING "Multiple_Selected_Names"
}
$Project.Multiple_Selected_Names = ""
} ELSE {
$Project.Multiple_Selected_Names = $Project.Multiple_Selected_Names + "\"
}
$Project.Multiple_Selected_Names = $Project.Multiple_Selected_Names + $Selected
IF NOT($powermill.Status.MultipleSelection.Last or $powermill.Status.MultipleSelection.total == 0) {
MACRO ABORT
}
$Selected_Tools = TOKENS($Project.Multiple_Selected_Names, "\")
}
Same result, but shortest:
FUNCTION Main( STRING $Selected ) {
STRING $DIR = $dirname(pathname('tool',$Selected))
IF $DIR != 'Tool' {
STRING Cmd="EDIT FOLDER '"+$DIR+"' REMOVE '"+$Selected+"'"
DoCommand $Cmd
}
}