sottostringhe Naïve avere il problema che si deve regolare ogni volta i percorsi cambiano e non è una soluzione generica al problema.
il seguente file batch dà una prova di concetto come si potrebbe fare la parte troncamento del percorso:
@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
E 'hard-coded a una singola variabile, ma che è facilmente risolto se necessario.
La parte principale qui è la subroutine strip
che esegue il ciclo e interrompe l'ultimo carattere della stringa finché non viene trovato un backslash. Ciò rimuove efficacemente l'ultima parte del percorso.