返回列表 发帖

批处理for命令%%~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 代表文件名
%%~xi代表文件扩展名
%%~nxi 代表文件名和扩展名
具体的在cmd里输入 for /?
@echo off
set var=f:\111\abc\文件名.扩展名
for /f "delims=" %%i in ("%var%") do (
    echo %%~ni
    echo %%~xi
    echo %%~nxi
)
echo\&pauseCOPY
技术问题请到论坛发帖求助!

TOP

学习了..感谢 随风大大.
用这个试了下.以前不知道.为了只提取文件名.弄了很多临时文件出来
for /r f:\bat\ %%i in (*.bat) do echo %%~ni
pause COPY
我是一个新手.看到此签名的请发点教程我!!谢谢!!

TOP

返回列表