或者目录所在的盘符号打印出来!
四、 %~pI- 仅将 %I 扩展到一个路径
这个用法和上面一样,他只打印路径不打印文件名字
FOR /F "delims==" %%i IN (#39;dir /b') DO @echo%%~pi
pause
我就不打结果了,大家自己复制代码看结果吧,下面几个都是这么个用法,代码给出来,大家自己看结果吧!
五、 %~nI- 仅将 %I 扩展到一个文件名
只打印文件名字
FOR /F "delims==" %%i IN (#39;dir /b') DO @echo%%~ni
pause
六、 %~xI- 仅将 %I 扩展到一个文件扩展名
只打印文件的扩展名
FOR /F "delims==" %%i IN (#39;dir /b') DO @echo%%~xi
pause
七、 %~sI- 扩展的路径只含有短名
打印绝对短文件名
FOR /F "delims==" %%i IN (#39;dir /b') DO @echo%%~si
pause
八、 %~aI- 将 %I 扩展到文件的文件属性
打印文件的属性
FOR /F "delims==" %%i IN (#39;dir /b') DO @echo%%~ai
pause
九、 %~tI- 将 %I 扩展到文件的日期/时间
打印文件建立的日期
FOR /F "delims==" %%i IN (#39;dir /b') DO @echo%%~ti
pause
十、 %~zI- 将 %I 扩展到文件的大小
打印文件的大小
FOR /F "delims==" %%i IN (#39;dir /b') DO @echo%%~zi
pause
上面例子中的"delims=="可以改为"delims=",即不要分隔符
十一、 %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展
到找到的第一个完全合格的名称。如果环境变量名
未被定义,或者没有找到文件,此组合键会扩展到
空字符串
这是最后一个,和上面那些都不一样,我单独说说!
然后在把这些代码保存为批处理,放在桌面。
@echo off
FOR /F "delims=" %%i IN ("notepad.exe") DO echo%%~$PATH:i
pause
龙卷风补充:上面代码显示结果为C:WINDOWSsystem32notepad.exe
他的意思就在PATH变量里指定的路径里搜索notepad.exe文件,如果有notepad.exe则会把他所在绝对路径打印出来,没有就打印一个错误!
第四章 批处理中的变量
批处理中的变量,我把他分为两类,分别为"系统变量"和"自定义变量"
我们现在来详解这两个变量!
一、系统变量
他们的值由系统将其根据事先定义的条件自动赋值,也就是这些变量系统已经给他们定义了值,
不需要我们来给他赋值,我们只需要调用而以!我把他们全部列出来!
%ALLUSERSPROFILE% 本地 返回“所有用户”配置文件的位置。
%APPDATA% 本地 返回默认情况下应用程序存储数据的位置。
%CD% 本地 返回当前目录字符串。
%CMDCMDLINE% 本地 返回用来启动当前的 Cmd.exe 的准确命令行。
%CMDEXTVERSION% 系统 返回当前的“命令处理程序扩展”的版本号。









