找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 39887|回复: 2

批处理for命令%%~ni和%%~xi是什么意思?

[复制链接]
发表于 2008-4-6 14:33:42 | 显示全部楼层 |阅读模式
这段代码中%%~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:38 | 显示全部楼层
%%~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
复制代码
发表于 2011-9-15 11:25:45 | 显示全部楼层
学习了..感谢 随风大大.
用这个试了下.以前不知道.为了只提取文件名.弄了很多临时文件出来

  1. for /r f:\bat\ %%i in (*.bat) do echo %%~ni
  2. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 00:15 , Processed in 0.009426 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表