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/F
estásimplesmenteprocessandoumastringedividindo-anocaractere\
.
tokens=1
dizparausaraprimeirapartedastring.Sevocêquiserusarqualquerpastadepoisdisso,poderáfazerissousandotokens=1,2,3
e,emseguida,setprev=.\%%G\%%H\%%I
Sevocêquisesseobteraletradaunidade,emvezdeusar.\
,poderiausarsetprev=%%~dG\%%~G
Leituraadicional:
FOR
- SS64