Você pode usar algo simples como:
@ECHO off
set knownfile=D:\Folder\File.txt
for /F "delims=\ tokens=2" %%G in ("%knownfile%") do (
set prev=.\%%G
)
ECHO %prev%
emqueavariáveldeambienteknownfileéocaminhocompletosemcotas.VocênãoprecisaativaraExpansãocomatrasoparaestasoluçãooumexercomavariáveldeambienteCD.
Comfor/R,vocêestápercorrendoumaárvoredediretórios,enquantofor/Festásimplesmenteprocessandoumastringedividindo-anocaractere\.
tokens=1dizparausaraprimeirapartedastring.Sevocêquiserusarqualquerpastadepoisdisso,poderáfazerissousandotokens=1,2,3e,emseguida,setprev=.\%%G\%%H\%%I
Sevocêquisesseobteraletradaunidade,emvezdeusar.\,poderiausarsetprev=%%~dG\%%~G
Leituraadicional:
FOR- SS64
