我想有一个批处理脚本,我可以在D:drive中找到大于10MB的文件。
此致 轨道。
答案 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