如何搜索大于特定大小的文件并对其执行某些操作?

时间:2015-05-05 13:13:42

标签: batch-file batch-processing

我想在我的不同驱动器中搜索大小低于800Ko的文件并启动它们的MD5校验和(使用Microsoft工具FCIV)。

我认为可以使用dir命令完成,但我不知道如何检查filesize(低于800Ko),然后能够检索每个文件的完整路径并将其添加为参数到FCIV命令。

编辑:我使用这段代码,但实际上这个过程永远不会结束,因为它被卡在我所拥有的目录上,#34;访问被拒绝"。 可以跳过这些目录吗?

@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

谢谢

1 个答案:

答案 0 :(得分:0)

哇,你想对驱动器上的每个文件执行此操作吗?无论如何,这里对你到目前为止所做的一些调整。

@echo off
rem   setLocal EnableDelayedExpansion
for /R c:\ %%a in (*) do (
    if %%~za GTR 0 if %%~za LSS 800000 (
        echo "%%a" %%~za
        fciv -md5 "%%a" -xml DatabaseMD5.xml 
    )
)

pause