Windows批处理中获取文件属性的一些方法

windows的batchfile可以有%0-%9参数,其中%0默认表示batchfile的全路径,%1-%9为用户的传入参数。

以下特殊标记可以用来获得文件的属性,如果对%0使用特殊标记,表示获得batachfile的相关属性,如果%1-%9中某个%*是个文件的路径,也可以使用如下特殊标记来获得%*表示文件的相关属性。

例如:D:testfoldertest.bat

echo off
echo path name:
echo %1
echo fully qualified path name:
echo %~f1
echo dirive:
echo %~d1
echo path:
echo %~p1
echo name:
echo %~n1
echo extention:
echo %~x1
echo short name:
echo %~s1
echo attribute:
echo %~a1
echo time:
echo %~t1
echo size:
echo %~z1
echo directory:
echo %~dp1

调用时为D:testfoldertest.bat "c:testnew foldermytable.txt",输出如下:

D:>echo off
path name:
"c:testnew foldermytable.txt"
fully qualified path name:
c:testNew Foldermytable.txt
dirive:
c:
path:
testNew Folder
name:
mytable
extention:
.txt
short name:
c:testNEWFOL~1mytable.txt
attribute:
--a------
time:
2010-09-27 15:01
size:
directory:
c:testNew Folder