获取批处理脚本中的最后两个令牌作为命令

我有一个文件名与完整path,并希望获得该文件的文件名和父目录。如何parsing这个批处理脚本

例如/ f“tokens = 4,5 delims = \”%% a in(“F:\ mydata \ WebLogs \ MyServerName001 \ u_ex100206.log”)

在上面的行中令牌4是服务器名称,5是文件名。但是这不会总是4和5.所以我怎样才能得到批处理脚本中的最后两个令牌?因为在我的情况下,文件名将是最后一个令牌而服务器名称将是之前的令牌。

使用%〜nxI作为文件名,并使用来自父文件夹的这个计算器文章中所选答案的代码。

赫尔维克指出的这个post已经超过了顶峰。 这是获取父目录(或父目录的父目录等)的简单方法:

for /D %%I in ("F:\mydata\WebLogs\MyServerName001\u_ex100206.log") do ( echo filename=[%%~nxI] ) for /D %%I in ("F:\mydata\WebLogs\MyServerName001\u_ex100206.log\..") do ( echo parent dir=[%%~nxI] ) for /D %%I in ("F:\mydata\WebLogs\MyServerName001\u_ex100206.log\..\..") do ( echo parent's parent dir=[%%~nxI] ) 

…等文件不需要存在。