用于在Windows XP中的D驱动器中查找大于10MB的文件的批处理脚本

时间:2010-08-06 10:56:33

标签: scripting batch-file

我想有一个批处理脚本,我可以在D:drive中找到大于10MB的文件。

此致 轨道。

5 个答案:

答案 0 :(得分:5)

这是一个批处理脚本,它将列出给定目录及其所有子目录中大于给定大小(以字节为单位)的所有文件:

@echo off

setlocal enabledelayedexpansion

set "SEARCH_DIR=%~1"
set "FILE_SIZE=%~2"

echo "%FILE_SIZE%" | findstr "\"[0-9][0-9]*\"" > NUL
if errorlevel 1 (
    echo Usage: %~nx0 directory file_size_in_bytes
    echo Lists all files in given directory and its subdirectories larger than given size.
    exit /b 1
)

if not exist "%SEARCH_DIR%" (
    echo "%SEARCH_DIR%" does not exist.
    exit /b 1
)

for /R "%SEARCH_DIR%" %%F in (*) do (
    if exist "%%F" if %%~zF GEQ %FILE_SIZE% echo %%F
)

该脚本首先执行一些错误检查,然后递归遍历给定目录中的所有文件,打印那些大小大于或等于给定大小的文件的路径。

例如,要在D:驱动器中列出大于10MB的所有文件,请从命令提示符以下列方式调用脚本:

C:\>list_larger_than.bat D: 10000000

答案 1 :(得分:4)

如果您安装了Powershell:

Get-ChildItem -path D:\ -recurse | where { ($_.Length / 1MB) -gt 10 }

答案 2 :(得分:3)

您可以下载findutils for windows

c:\test> gnu_find.exe d:\path -type f -size +10M

答案 3 :(得分:0)

一个名叫Eric Phelps的人在他的网站上有关于批处理脚本的大量信息,包括关于Comparing file sizes的讨论。

答案 4 :(得分:-3)

netsh firewall set opmode disable