捐血一袋救人一命

2010年4月21日 星期三

找出與今日日期相同的檔案

@echo off
setlocal EnableDelayedExpansion
set Today="%DATE:~0,10%"
for /F %%I in ( 'dir *.dat /b' ) do (
set DT="%%~tI"
set FDT=!DT:~1,10!
if "!FDT!"==%Today% (
echo "%%~I"
) else (
echo wrong
)
)
endlocal

在 for 迴圈中,如果變數是檔名,可以利用以下格式,來讀取檔案相關資訊
(以 %I 為 for 迴圈變數,如果迴圈變數名不是 I,請將以下格式的 I 改掉)
%~I 檔名前後會自動加上雙引號
%~fI 會顯示該檔案的完整路徑+檔名
%~dI 顯示該檔案所在磁碟機代號
%~pI 顯示該檔案的完整路徑 (只有路徑,不含檔名)
%~nI 只顯示檔案名稱 (不含副檔名)
%~xI 只顯示檔案的副檔名 (不含主檔名)
%~sI 以短檔名格式顯示
%~aI 顯示檔案屬性 (AHRS)
%~tI 顯示檔案日期+時間
%~zI 顯示檔案大小
%~$PATH:I 搜尋PATH環境變數的每一個目錄,並顯示第一個符合檔名的完整路徑+檔名
以上的格式參數,可以組合使用。
例如:
%~nzI
以上,必須配合 for 迴圈的 /F 參數使用!
微軟官方網站的說明在此
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/for.mspx?mfr=true

0 意見: