批处理中%%~ni和%%~xi是什么意思,有何不同

这段代码中%%~ni和%%~xi是什么意思,有何不同?能不能举例来解释下?

@echo off
set var=av sdkjf dfj sdjf df abc efg
set var=%var: =.%
for %%i in (%var%) do set "var=%%~ni"
for %%i in (%var%) do set "var=%%~xi"
echo %var:.=%
pause

%~nI - 仅将 %I 扩展到一个文件名
%~xI - 仅将 %I 扩展到一个文件扩展名
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-04-06
set var=av sdkjf dfj sdjf df abc efg
set var=%var: =.%
for %%i in (%var%) do set "var=%%~ni"
for %%i in (%var%) do set "var=%%~xi"
echo %var:.=%
相似回答