如何对变量而不是参数使用批处理参数修饰符

Bla*_*ine 7 parameters batch-file

语法%~f1将表示文件名的参数修改为其完全限定路径.有没有办法为批处理脚本中定义的变量获取该功能,而不仅仅是参数值?

例如,如果用户提供命令行参数"test.txt",则以下脚本有效:
echo符合条件的文件名:%~f1

但是如果我尝试用变量而不是参数做同样的事情,我怎么能得到相同的功能呢?此尝试是无效的语法,不起作用:
set unqualifiedFilename ="test.txt"
echo符合条件的文件名:%~funqualifiedFilename

bob*_*mcr 4

我能想到的最简单的方法就是使用命令FOR

批处理脚本示例:

@echo off
setlocal
set FileName=test.cmd

for %%i in (%FileName%) do set FullPath=%%~fi

echo Original param was '%FileName%'; full path is '%FullPath%'
Run Code Online (Sandbox Code Playgroud)

示例输出:

原始参数是“test.cmd”;完整路径是“C:\test.cmd”