我想搜索我的不同驅動器中的文件大小低於800Ko,並啓動它們的MD5校驗和(使用Microsoft工具FCIV)。如何搜索大於特定大小的文件並在其上執行某些操作?
我認爲這可以使用dir命令完成,但我不知道如何檢查文件大小(低於800Ko),然後能夠檢索每個文件的完整路徑並將其添加爲FCIV命令的參數。
編輯:我使用此代碼,但實際上這個過程永遠不會結束,因爲它是在我有「訪問被拒絕」的目錄上找到的。 有可能跳過這些目錄?
@echo off
setLocal EnableDelayedExpansion
REM for /f "tokens=* delims= " %%a in ('dir /A HS /s /b c:\') do (
for /f "tokens=* delims= " %%a in ('dir c:\ /s /b /A-d') do (
if /I %%~Za LEQ 600000 (
echo %%~Za
fciv -md5 "%%~a" -xml DatabaseMD5.xml
)
)
@pause
謝謝
整個驅動器?這可能真的很慢.. – npocmaka
其實,我已經在整個驅動器上調用dir/s/b,並且它不是很慢(不到一分鐘)。對我來說,最好的解決方案應該是生成一個DIR.TXT文件,並將其用於腳本;但我沒有找到DIR命令的方式來使「全路徑」和一次顯示文件的大小。 (因爲我的腳本的另一個模塊是搜索特定文件)。 – Isabelle
僅供參考':for/f「delims =」%% a in('dir/s/b/ad c:')do(...'。注意''「delims =」' s/b/ad c:'將從'c:'驅動器上的當前目錄開始;使用'dir/s/b/ad c:\'覆蓋整個驅動器... – JosefZ