首先表明本人並不贊同用變量擴展這個概念,因為用這個概念是不利於新手的理
解的。同時本人認為用保留變量信息這個概念可能更為貼切,我們姑且先如此定義
吧。
新手們可能在別人的代碼中見過%%~ni %%~xi %%~dpi這樣的字符,於是很多新手
於是發問了:這個東東是什麼啊?老手們便丟下一句話“變量擴展”或寫下for /?。
有心一點的新手便會打開cmd輸入for /?來查看幫助信息,結果往往是看得一頭霧水,
不知道仍是不知道,今天我們就來解決這個問題了。
大家先用以下代碼搭建好以下環境:
@echo off
md d:\temp
cd.>d:\temp\abcd.efgh
start d:\temp
再在當前目錄中新建test.bat,內容如下:
@echo off
for /f %%a in ('dir /s /b a*') do (
echo %%a:文件完整信息
echo %%~da:保留文件所在驅動器信息
echo %%~pa:保留文件所在路徑信息
echo %%~na:保留文件名信息
echo %%~xa:保留文件後綴信息
echo %%~za:保留文件大小信息
echo %%~ta:保留文件修改時間信息
echo %%~dpa:保留文件所在驅動器和所在路徑信息
echo %%~nxa:保留文件名及後綴信息
echo %%~pnxa:保留文件所在路徑及文件名和後綴信息
echo %%~dpna:保留文件驅動器、路徑、文件名信息
echo %%~dpnxa:保留文件驅動器、路徑、文件名、後綴信息
)
pause>nul
運行這個批處理大家就會明白了。。。
大家只要記住在這其中d p n x (t z)這些字符分別是代表的是什麼意思就可以了,
同時這些字符是可以互相任意搭配的,如%%~dzxa主要看你想保留下文件(變
量)的哪些信息了。