При помощи двоеточия и восклицательного знака можно выполнить любую команду в пути оболочки и сценариях оболочки, иметь в виду, что команда работает при пользователе, запускающем vi/vim программу, и использующий это - среда.
:!<command>
Так как vi использует среду, которая была в действительности, когда это было выполнено, это использует тот же путь, который был в родительской команде. Следует иметь в виду, что некоторые оболочки сохраняют кэш программ в пути, и vi не может работать с этим кэшем (зависящий от оболочки, которую он использует, и это - версия), таким образом, можно закончить тем, что выполнили неправильный двоичный файл в случае, если у Вас есть больше чем один двоичный файл с тем же именем.
Если Ваша оболочка поддерживает его, можно использовать расширение
batchname=${ID##*_}
или даже
batchname=${ID#*_}
Первая форма удаляет все символы до и включая самое правое подчеркивание, и вторая форма удаляет все символы до и включая крайнее левое подчеркивание. В Вашем конкретном примере обе формы эквивалентны.