DOS批处理:从相对路径获取最后一个文件夹

时间:2010-11-30 13:53:30

标签: parsing substring extraction batch-file indexof

我在DOS批处理文件中有以下值(例如......):

..\Apple\Jones  
..\Banana\Smith  
..\Pear\Wilson  

我需要从每个值中提取姓氏值(“Jones”,“Smith”,“Wilson”)。我可以使用哪种技术总能给我这些子字符串值?

2 个答案:

答案 0 :(得分:2)

根据这个主题:What is the best way to do a substring in a batch file?

我建议您使用

%~n0

答案 1 :(得分:0)

我已经为此编写了一个函数。你给它任何路径,它只返回它的文件名或路径名。适用于任何路径:Url,Windows路径,Linux路径等...

在批处理脚本的末尾复制此功能:(以下说明)

rem ===========================================================================

:Name_From_Path
SetLocal

set _TMP_FOLDERNAME=%1
for %%g in ("%_TMP_FOLDERNAME%") do set _TMP_FOLDERNAME=%%~nxg

EndLocal & set _Name_From_Path=%_TMP_FOLDERNAME%
goto :EOF

rem ===========================================================================

用法:

CALL :Name_Of_Path ..\Apple\Jones
ECHO %_Name_From_Path%

结果:琼斯