找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 84801|回复: 18

[文件操作] [已解决]批处理怎样删除指定大小的文件?

[复制链接]
发表于 2011-8-8 22:22:06 | 显示全部楼层 |阅读模式
我是这样的。
D\视频\ 下面有一堆小于1m的文件夹 EF分区也是如此。

我想问问要怎么写一个批处理。删除小于1M的文件夹及下面的文件呢?请问批处理能够做到嘛?

如果能够做到,那麻烦各位大哥指教。给出代码!3Q

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-8-8 22:43:04 | 显示全部楼层
本帖最后由 wc726842270 于 2011-8-8 22:49 编辑

  1. @echo off
  2. :: fsutil file createnew D:\视频\1.exe 1025
  3. wmic datafile where "drive='d:' and path='\\视频\\' and filesize < '1024'" call delete 1>NUL
  4. if errorlevel 0 echo 已经成将“D:\视频\\”下小于1024的所有文件删除
  5. PAUSE
复制代码
好久没写了,可能不是太给力
忘了说了,试验时没望了备份啊
发表于 2011-8-8 22:55:07 | 显示全部楼层
wmic都用上了,真NB
 楼主| 发表于 2011-8-8 22:58:50 | 显示全部楼层
回复 2# wc726842270


    谢谢。大哥。我试验下。。感谢。。非常感谢
发表于 2011-8-8 23:02:30 | 显示全部楼层
另:
%~zI - 将 %I 扩展到文件的大小
 楼主| 发表于 2011-8-8 23:02:55 | 显示全部楼层
回复 2# wc726842270


大哥。删除是删除成功了。。但是只删除了比如说是“d:\视频”下面的文件。但是“d:\视频”下面还有文件夹。里面的没有删除!希望大哥在帮我改进下!
 楼主| 发表于 2011-8-8 23:03:40 | 显示全部楼层
回复 5# bluewing009


    大哥,我是新手。能否给出代码。小弟在此感激不尽
发表于 2011-8-9 11:28:25 | 显示全部楼层
本帖最后由 ArdentMan 于 2011-8-9 11:29 编辑

安全起见请先测试

  1. @Echo Off
  2. For /F "delims=" %%a In ('Dir /b D\视频') Do (
  3.   If %%~za LSS 1048577 (
  4.     Del /f "D\视频\%%a">nul 2>nul
  5.     Rd /s /q "D\视频\%%a">nul 2>nul
  6.   )
  7. )
复制代码
发表于 2011-8-9 15:33:55 | 显示全部楼层

  1. @echo off
  2. wmic datafile where "drive='d:' and path like '%\\视频\\%' and filesize < '1048576'" delete
  3. for /f "delims=" %%i in ('dir /ad /s /b d:\视频') do rd %%i 2>nul  
  4. pause
复制代码
 楼主| 发表于 2011-8-9 18:37:19 | 显示全部楼层
回复 10# lvsehuaxue

非常感谢。。你但是批处理提示无可用范例
 楼主| 发表于 2011-8-9 18:39:46 | 显示全部楼层
回复 9# else


    非常感谢。我测试了不行,,
 楼主| 发表于 2011-8-9 18:40:16 | 显示全部楼层
回复 8# ArdentMan


    非常感谢。,测试了没有删除文件。。
发表于 2011-8-10 20:56:47 | 显示全部楼层
本帖最后由 Hello123World 于 2011-8-10 20:58 编辑
  1. @echo off
  2. For %%i in (d e f) do (
  3.         For /f "delims=" %%j in ('Dir /s /ad /b ') do (
  4.                 echo %%~zj
  5.                 )
  6.         )
  7. pause>nul
复制代码
本来是想用~z写的,不过~z扩展的是文件大小,不能扩展文件夹(扩展文件夹虽然可以,但返回的数值是错误的)……
2楼方法,不知道能不能实现楼主要求。
 楼主| 发表于 2011-8-11 10:53:43 | 显示全部楼层
回复 14# Hello123World
非常感谢,。你的回复。。

2楼的那个能够实现删除小于1M的文件。但是不能够删除文件夹。。大哥。你的我测试了。暂时还不行。。
发表于 2011-8-11 11:01:47 | 显示全部楼层
用wmic、、小题大做了把、for直接用     %~zI        不就可以了、、

真佩服、、= =    wmic都、、、不会用的飘过、、
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 19:58 , Processed in 0.011649 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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