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

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

我需要从每个值中提取姓氏值(“琼斯”,“史密斯”,“威尔逊”)。我可以使用哪种技术可以始终为我提供这些底弦值?

有帮助吗?

解决方案

根据此主题: 在批处理文件中进行子字符串的最佳方法是什么?

我建议你使用

%~n0

其他提示

我已经为此写了一个函数。您给它任何路径,然后返回您的文件名或路径名。适用于任何路径:URL,Windows Path,Linux Path等...

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

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%

结果:琼斯

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top