Наивные подстроки имеют проблему, заключающуюся в том, что вы должны корректировать их каждый раз, когда изменяются ваши пути, и это не является общим решением проблемы.
Следующий пакетный файл дает представление о том, как можно выполнить усечение части пути:
@echo off
set foo=C:\Temp\Test
call :strip
echo %foo%
goto :eof
:strip
if not "%foo:~-1%"=="\" (
set foo=%foo:~0,-1%
goto :strip
)
goto :eof
Он жестко запрограммирован в одну переменную, но при необходимости легко исправляется.
Основной частью здесь является подпрограмма strip
, которая зацикливает и обрезает последний символ строки, пока не будет найден обратный слеш. Это эффективно удаляет последнюю часть пути.