想从“D:\Program\Study Release\Release Solution”中把“Release Solution”拉出来组成另一个字串,怎样实现?效果如下:StringA="D:\Program\Study Release\Release Solution"中间怎么做得到
StringB="Release Solution"
StringB="Release Solution"
set StringA=D:\Program\Study Release\Release Solution
set StringB=%StringA:~-16%
echo %StringB%
pause或者直接把StringA直接输出保存成文本好了,echo %StringA%>>F:\temp.txt
FOR /F "eol=\ delims='\' tokens=3" %i in ("D:\Program\Study Release\Release Solution") do @echo %i如果在.bat文件中:
FOR /F "eol=\ delims='\' tokens=3" %%i in ("D:\Program\Study Release\Release Solution") do @echo %%i
set StringA="D:\Program\Study Release\Release Solution"
call :Test %StringA%
pause
goto :End
:Test
echo %~n1
:End
SET StringA=%1
echo %StringB%:sub
set StringB=%~nx1
调用的时候,test "D:\Program\Study Release\Release Solution"输出:C:\test>test "D:\Program\Study Release\Release Solution"
Release SolutionC:\test>
C:\AAA>test "D:\Program\Study Release\Release Solution"
Release SolutionC:\AAA>
SET StringA=%1
call :sub %StringA%
echo %StringB%
:sub
set StringB=%~nx1
后面多了一个\的话怎样才能把“Release Solution”取出来呢?
@echo off
set StringA="D:\Program\Study Release\Release Solution\"
call :Test %StringA%
pause
goto :End
:Test
set StringA=%~1
set StringB="%~n1"
if not %StringB% == "" goto OK
call :Test "%StringA:~0,-1%"
goto :End
:OK
echo %StringB%
:End