[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

批处理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 /?
  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
复制代码
技术问题请到论坛发帖求助!

TOP

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

TOP

返回列表