Board logo

标题: [文件操作] [已解决]批处理怎样删除指定大小的文件? [打印本页]

作者: yjdcom    时间: 2011-8-8 22:22     标题: [已解决]批处理怎样删除指定大小的文件?

我是这样的。
D\视频\ 下面有一堆小于1m的文件夹 EF分区也是如此。

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

如果能够做到,那麻烦各位大哥指教。给出代码!3Q
作者: wc726842270    时间: 2011-8-8 22:43

本帖最后由 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
复制代码
好久没写了,可能不是太给力
忘了说了,试验时没望了备份啊
作者: wrove    时间: 2011-8-8 22:55

wmic都用上了,真NB
作者: yjdcom    时间: 2011-8-8 22:58

回复 2# wc726842270


    谢谢。大哥。我试验下。。感谢。。非常感谢
作者: bluewing009    时间: 2011-8-8 23:02

另:
%~zI - 将 %I 扩展到文件的大小
作者: yjdcom    时间: 2011-8-8 23:02

回复 2# wc726842270


大哥。删除是删除成功了。。但是只删除了比如说是“d:\视频”下面的文件。但是“d:\视频”下面还有文件夹。里面的没有删除!希望大哥在帮我改进下!
作者: yjdcom    时间: 2011-8-8 23:03

回复 5# bluewing009


    大哥,我是新手。能否给出代码。小弟在此感激不尽
作者: ArdentMan    时间: 2011-8-9 11:28

本帖最后由 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. )
复制代码

作者: lvsehuaxue    时间: 2011-8-9 15:33

  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
复制代码

作者: yjdcom    时间: 2011-8-9 18:37

回复 10# lvsehuaxue

非常感谢。。你但是批处理提示无可用范例
作者: yjdcom    时间: 2011-8-9 18:39

回复 9# else


    非常感谢。我测试了不行,,
作者: yjdcom    时间: 2011-8-9 18:40

回复 8# ArdentMan


    非常感谢。,测试了没有删除文件。。
作者: Hello123World    时间: 2011-8-10 20:56

本帖最后由 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楼方法,不知道能不能实现楼主要求。
作者: yjdcom    时间: 2011-8-11 10:53

回复 14# Hello123World
非常感谢,。你的回复。。

2楼的那个能够实现删除小于1M的文件。但是不能够删除文件夹。。大哥。你的我测试了。暂时还不行。。
作者: canyuexiaolang    时间: 2011-8-11 11:01

用wmic、、小题大做了把、for直接用     %~zI        不就可以了、、

真佩服、、= =    wmic都、、、不会用的飘过、、
作者: canyuexiaolang    时间: 2011-8-11 11:20

sorry  没看帖子、、、那就得用dir了、、呵呵
作者: hanyeguxing    时间: 2011-8-11 12:17

1,楼住需要说明是否包含隐藏属性文件
2,“视频”分别位于 e、e、f 分区下?
作者: yjdcom    时间: 2011-8-11 18:15

非常感谢,。,版主。。这个问题已经通过你的指导解决!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2