如何通过点分割文件名并获得最后2部分

所以问题是,我会得到如下的文件名:

"abcdefg" 

我需要得到最后2部分。 在这种情况下,

 "fg" 

我不知道弦有多less个点。

Thx为您的帮助!

Solutions Collecting From Web of "如何通过点分割文件名并获得最后2部分"

 @ECHO OFF SETLOCAL SET "fname=abcdefg" FOR %%a IN (%fname%) DO FOR %%b IN (%%~na) DO ECHO %%~xb%%~xa 

尝试这个:

 @echo off &SETLOCAL SET "fname=abcdefg" :loop SET /a t+=1 SET "d=" FOR /f "tokens=%t% delims=." %%a IN ("%fname%") DO SET "d=%%a" SET "f=%g%"&SET "g=%e%"&SET "e=%d%" IF DEFINED d GOTO :loop ECHO %f%.%g% 

€:不仅适用于所有分隔符.

您可以使用%〜xI`中的参数修饰符x来访问扩展名,然后使用它两次。

 @echo off set "fname=abcdefg" for /F "delims=" %%A in ("%fname%") DO ( set "ext2=%%~xA" for /F "delims=" %%A in ("%%~nA") DO set "ext1=%%~xA" ) echo %ext1%%ext2%