批处理获取自身文件路径属性

@echo off
title 批处理获取自身路径和属性 By:迷路轮回 www.xyx115.com
mode con cols=80 lines=20

echo=
echo=
echo 	取全路径		%~f0 
echo 	取驱动器名		%~d0 
echo 	只取路径(不包驱动器)	%~dp0 
echo 	取文件名(名+扩展名)	%~nx0
echo 	只取文件名		%~n0
echo 	只取文件扩展名		%~xx0 
echo 	取缩写全路径名		%~s0 
echo 	取文件属性		%~a0
echo 	取文件创建时间		%~t0 
echo 	取文件大小		%~z0 
echo=
echo=
pause >nul


批处理获取for循环中文件的扩展属性

@echo off
title 批处理获取自身路径和属性 By:迷路轮回 www.xyx115.com
mode con cols=80 lines=20

cd /d %~dp0

for /f %%i in ('dir /s /b /a-d *.bat') do (
    echo=
    echo=
    echo= 	取全路径		%%~fi 
    echo= 	取驱动器名		%%~di 
    echo= 	只取路径(不包驱动器)	%%~dpi 
    echo= 	取文件名(名+扩展名)	%%~nxi
    echo= 	只取文件名		%%~ni
    echo= 	只取文件扩展名		%%~xxi 
    echo= 	取缩写全路径名		%%~si 
    echo= 	取文件属性		%%~ai
    echo= 	取文件创建时间		%%~ti 
    echo= 	取文件大小		%%~zi 
    echo=
    echo=
)

pause >nul

仔细观察,不论是获取自身扩展属性,还是获取其他变量中的文件扩展属性,扩展属性自身代码不变,变化的只是最后一位,即指向文件的变量名称。

自身扩展属性,最后一位都是0,for循环中最后一位根据for以及循环内部文件位置决定,如图中的i,即是for /f %%i。

Scroll to Top