我必须从大小大于 10 MB 的文件夹中查找文件。
请指导我如何完成这项任务。
答案1
这是一个简单明了的 PowerShell 解决方案(作为批处理的替代方案)
gci 'C:\yourpath\yourfolder' | % { get-item $_.FullName | ? { $_.length -gt 10mb } }
我们在这里做的事情是:
- 使用以下方法获取文件夹中的所有文件
gci
foreach-object
通过别名遍历所有文件%
- 通过检查项目文件长度
get-item
where-object
仅通过别名查询选择大于 10mb 的文件?
。
编辑: 要在批处理文件中而不是 PowerShell 本身中使用此命令,您可以写入:
powershell -command "gci 'C:\yourpath\yourfolder' | % { get-item $_.FullName | ? { $_.length -gt 10mb } }"
答案2
列出给定目录及其子目录中所有大于 10MB 的文件。
@echo off
setlocal enabledelayedexpansion
set "SEARCH_DIR=%~1"
echo Usage: %~nx0 directory
echo Lists all files in given directory and its subdirectories larger than 10MB.
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 GTR 10000000 echo %%F
)
示例:运行上述批处理脚本(本例中名为 script.bat)列出 D 盘中所有大于 10MB 的文件。
C:\>script.bat D: