从批处理脚本中的字符串获取最后一个令牌

Jay*_*ner 1 directory parsing batch-file

我正在处理批处理脚本,因此需要一种从完整路径字符串中删除最低级别目录的方法。因此,例如,如果我有:

C:/目录1 /目录2 /目录3

我希望我的批处理脚本返回“ dir3”。该字符串C:/ dir1 / dir2 / dir3由用户传递,并设置为变量“ FullPath”。

我在这里查看了答案,这似乎是一个类似的问题,但是那里的解决方案没有使用定界符。而且,我最想解决的是以下代码:

for /f "tokens=(some number) delims=\" %%a in ("%FullPath%") do echo Token=%%a
Run Code Online (Sandbox Code Playgroud)

...这可以回显我指定的任何标记(我最终将把这个标记设置为一个变量,但是我需要先获得一个正确的标记),但是我不知道会有多少标记,我一直想字符串中的最后一个字符,如“ \”字符之后。

如何编辑此行代码以返回字符串中的最终令牌?

MC *_* ND 5

for %%a in ("%fullpath%\.") do set "lastPart=%%~nxa"
Run Code Online (Sandbox Code Playgroud)

也就是说,使用for循环获取对完整路径的引用,并从中检索最后一个元素的名称和扩展名。