无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2035|回复: 22

如何通过批处理限制搜索硬盘上指定大小文件(输入的数为kb或MB,而非b)

[复制链接]
发表于 2024-2-19 16:40:17 | 显示全部楼层 |阅读模式
本帖最后由 likeyouli 于 2024-2-19 16:57 编辑

如题,通过以下批处理,
@echo off
setlocal enabledelayedexpansion
set /p "search_path=请输入搜索路径: "
set /p  "min_size=请输入最小文件大小(单位字节): "
for /r "%search_path%" %%F in (*) do (
    set /a file_size="%%~zF"
    if !file_size! GEQ %min_size% (
    echo 文件: %%F  echo 大小: !file_size! 字节      
    )
)
endlocal
我可以搜索某文件夹及子文件夹下指定大小的文件,,但这里无论是我输入的min_size,还是最后显示的文件大小,都是按字节计算的,我的要求:min_size=请输入最小文件大小(单位MB),最后显示的也是文件多少MB,,我搜索了好多,好像应该用set /a file_size="%%~zF"/1024/1024进行换算,但是对于大文件会提示“无效数字 数字精确度限为 32 位”,也就是文件大小超过2147483647字节的都会报错,不知道大家有什么好办法没有 ?(字节这个单位太小了,我搜索限制多大小的文件,喜欢用MB计量)
发表于 2024-2-19 16:58:00 | 显示全部楼层
等大佬帮你解决吧,看不懂
回复

使用道具 举报

发表于 2024-2-19 17:01:35 来自手机 | 显示全部楼层
upe2里俺写过一段算法

点评

upe2.不知道是个啥  详情 回复 发表于 2024-2-19 17:15
回复

使用道具 举报

 楼主| 发表于 2024-2-19 17:15:12 | 显示全部楼层
szwp 发表于 2024-2-19 17:01
upe2里俺写过一段算法

upe2.不知道是个啥

点评

群文件里  详情 回复 发表于 2024-2-19 17:47
回复

使用道具 举报

发表于 2024-2-19 17:44:21 来自手机 | 显示全部楼层
kb有点冒险,b还可以,遇到有用又大小一样的概率小得多了,还有就是批处理很慢,费时间,网络里现成的全盘搜索很多。

点评

主要是为了练习批处理,,能用命令解决的,绝不用gui图形,否则怎能练好命令! 我这个需求,批处理如果解决不了,使用powerShell不知道能否解决,据说ps强大的多,可惜我还没空研究。  详情 回复 发表于 2024-2-19 18:14
回复

使用道具 举报

发表于 2024-2-19 17:47:13 来自手机 | 显示全部楼层
likeyouli 发表于 2024-2-19 17:15
upe2.不知道是个啥

群文件里

点评

告诉我群号吧,,想加入组织  详情 回复 发表于 2024-2-19 18:04
回复

使用道具 举报

 楼主| 发表于 2024-2-19 18:04:02 来自手机 | 显示全部楼层
szwp 发表于 2024-2-19 17:47
群文件里

告诉我群号吧,,想加入组织

点评

1067888280  详情 回复 发表于 2024-2-19 18:29
回复

使用道具 举报

 楼主| 发表于 2024-2-19 18:14:35 来自手机 | 显示全部楼层
窄口牛 发表于 2024-2-19 17:44
kb有点冒险,b还可以,遇到有用又大小一样的概率小得多了,还有就是批处理很慢,费时间,网络里现成的全盘 ...

主要是为了练习批处理,,能用命令解决的,绝不用gui图形,否则怎能练好命令! 我这个需求,批处理如果解决不了,使用powerShell不知道能否解决,据说ps强大的多,可惜我还没空研究。
回复

使用道具 举报

发表于 2024-2-19 18:27:20 来自手机 | 显示全部楼层
解决文件夹病毒就是批处理全盘搜固定大小的文件,就把文件夹.exe都清理了(当然还得解决主程序,不能只删除这些)。
回复

使用道具 举报

发表于 2024-2-19 18:29:13 来自手机 | 显示全部楼层
likeyouli 发表于 2024-2-19 18:04
告诉我群号吧,,想加入组织

1067888280
回复

使用道具 举报

发表于 2024-2-19 18:50:31 | 显示全部楼层
  1. rem 设置文件的大小,文件属性实际大小值
  2. set num=23
  3. rem 设置文件后缀名
  4. set suf=exe
  5. set fus=txt


  6. set root="%cd%"
  7. echo %cd%
  8. call :find %root%
  9. pause & exit



  10. :find
  11. CD %1
  12. for /F %%i in ('dir /A:-D /B *.%suf%;*.%fus%') do if ERRORLEVEL 0 call :deal %%i
  13. for /F %%i in ('dir /A:D /B') do call :find %%i
  14. if "%cd%"==%root% pause&exit
  15. CD ..
  16. goto :EOF

  17. :deal
  18. echo 正在查找 %cd%
  19. set file=%1
  20. for /f %%I in ('dir /A /B %file%') do set numx=%%~zI
  21. rem 对符合条件的文件进行处理
  22. if %num%==%numx% del /s /q %file%
  23. goto :EOF

  24. :EOF
复制代码

点评

根目录含空格,也有问题==循环不停  发表于 2024-2-20 09:55
11#楼的批处理,不支持含空格的文件,  发表于 2024-2-20 09:48
回复

使用道具 举报

发表于 2024-2-19 19:21:19 | 显示全部楼层
多谢提供分享!
回复

使用道具 举报

发表于 2024-2-19 19:58:30 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2024-2-20 01:10:24 | 显示全部楼层
赞,谢谢分享。
回复

使用道具 举报

发表于 2024-2-20 07:22:35 来自手机 | 显示全部楼层
学习了,谢谢楼主。
回复

使用道具 举报

发表于 2024-2-20 09:48:18 | 显示全部楼层
本帖最后由 crtrccrtt 于 2024-2-20 11:11 编辑


根目录含空格,也有问题==循环不停
11#楼的批处理,不支持含空格的文件,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-8 22:26

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表