批处理脚本的问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 13:48:23
%~$PATH:1
%~ftzaI
%~dp$PATH:i
这几个能给我解释解释不。在for和call的帮助里,里面的我看不懂,能用实例来分析最好。
解释的好,有分加。

%I知道的吧,不说了
%~fI,扩展到完整路径和文件名
%~tI,扩展到时间
%~zI,扩展到大小
%~aI,扩展到属性

比如说在for命令,%I为C:\test.txt那么
%~fI 代表test.txt的完整路径,即C:\test.txt
%~tI 代表test.txt的修改时间,包括日期和时间
%~zI 代表到test.txt以字节计算的大小
%~aI 代表test.txt的属性列表,以attrib的形式显示

然后这些字母可以叠用
比如%~ftI就代表同时显示test.txt的修改时间和完整路径,差不多就是这个样子:
2009-05-15 14:55 C:\test.txt

那么%~ftzaI看起来应该像这样
--a------ 2009-05-15 14:55 285 C:\test.txt

--a------ 代表test.txt的属性只有“存档”
2009-05-15 14:55 是最后修改时间
285 是文件大小
C:\test.txt 是文件完整路径

%~$PATH:I代表将文件扩展到PATH中的第一个值
PATH是一个环境变量,命令行下输path就能看到

他的作用是寻找要运行程序的位置
比方说你在命令行中输入
test.exe
那么命令行会在当前目录下寻找test.exe
如果当前目录下没有,就在PATH中的每一个目录下寻找
这就是为什么我们在运行放在c:\windows\system32下的程序时不需要输入完整路径,只要输入程序名就可以了

言归正传,
%~$PATH:I的作用就是将%I扩充到PATH中的第一个路径下
比如%I是C:\test.txt
PATH中的第一个路径是C:\windows\system32
那么%~$PATH:I就是 C:\windows\