То, что вы спрашиваете, возможно, и вам не нужно устанавливать переменную p.Учтите это:
setlocal ENABLEDELAYEDEXPANSION
for /F "tokens=*" %%f in ('type "paths.txt"') do (
set p=%%f
set expanded=!~fp! <--- invalid
set valid_expanded=%%~ff <--- valid
)
endlocal
Если вы все еще хотите установить переменную p, однако:
setlocal ENABLEDELAYEDEXPANSION
for /F "tokens=*" %%f in ('type "paths.txt"') do (
set p=%%~ff
)
endlocal
Она в основном работает так же, как и при вызове меток и файлов.