Board logo

标题: 批处理for命令%%~ni和%%~xi是什么意思? [打印本页]

作者: easyguy    时间: 2008-4-6 14:33     标题: 批处理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
作者: 随风    时间: 2008-4-6 15:20

%%~ni 代表文件名
%%~xi代表文件扩展名
%%~nxi 代表文件名和扩展名
具体的在cmd里输入 for /?
  1. @echo off
  2. set var=f:\111\abc\文件名.扩展名
  3. for /f "delims=" %%i in ("%var%") do (
  4.     echo %%~ni
  5.     echo %%~xi
  6.     echo %%~nxi
  7. )
  8. echo\&pause
复制代码

作者: wangqi0077    时间: 2011-9-15 11:25

学习了..感谢 随风大大.
用这个试了下.以前不知道.为了只提取文件名.弄了很多临时文件出来
  1. for /r f:\bat\ %%i in (*.bat) do echo %%~ni
  2. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2