Вы можете сделать это с помощью регулярных выражений. сохранить все значения в List или Arraylist, а затем сопоставить каждое значение или позицию списка с соответствующим регулярным выражением. это займет время, но, по крайней мере, вы не сможете получить 100% результат, но 75-80% это сработает.
Хорошо, я сделал некоторое быстрое экспериментирование на основе некоторых других поисков, у меня было движение.
Суть - то, что порядок команд зависит от порядка, расширения хранятся в переменной среды PATHEXT. Так первоначально я имел:
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.RB;.RBW
и для примера выше порядка, в котором это работало бы, это было:
something.exe
something.bat
something.cmd
Изменение порядка, который они были определены в переменной среды PATHEXT, действительно изменяло порядок, в котором они выполнялись.