所以问题是我会得到文件名,例如:
"a.b.c.d.e.f.g"
我需要得到最后两个部分。在这种情况下,
"f.g"
而且我不知道字符串会有多少个点。
谢谢你的帮助!
所以问题是我会得到文件名,例如:
"a.b.c.d.e.f.g"
我需要得到最后两个部分。在这种情况下,
"f.g"
而且我不知道字符串会有多少个点。
谢谢你的帮助!
@ECHO OFF
SETLOCAL
SET "fname=a.b.c.d.e.f.g"
FOR %%a IN (%fname%) DO FOR %%b IN (%%~na) DO ECHO %%~xb%%~xa
尝试这个:
@echo off &SETLOCAL
SET "fname=a.b.c.d.e.f.g"
: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%
€:适用于所有分隔符,不仅是.
.
您可以使用x
%~xI` 中的参数修饰符来仅访问扩展名,然后使用它两次。
@echo off
set "fname=a.b.c.d.e.f.g"
for /F "delims=" %%A in ("%fname%") DO (
set "ext2=%%~xA"
for /F "delims=" %%A in ("%%~nA") DO set "ext1=%%~xA"
)
echo %ext1%%ext2%