[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

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

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

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

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 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
复制代码
好久没写了,可能不是太给力
忘了说了,试验时没望了备份啊
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

wmic都用上了,真NB

TOP

回复 2# wc726842270


    谢谢。大哥。我试验下。。感谢。。非常感谢

TOP

另:
%~zI - 将 %I 扩展到文件的大小

TOP

回复 2# wc726842270


大哥。删除是删除成功了。。但是只删除了比如说是“d:\视频”下面的文件。但是“d:\视频”下面还有文件夹。里面的没有删除!希望大哥在帮我改进下!

TOP

回复 5# bluewing009


    大哥,我是新手。能否给出代码。小弟在此感激不尽

TOP

本帖最后由 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. )
复制代码
一路飘过的鸟~~~

TOP

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

TOP

回复 10# lvsehuaxue

非常感谢。。你但是批处理提示无可用范例

TOP

回复 9# else


    非常感谢。我测试了不行,,

TOP

回复 8# ArdentMan


    非常感谢。,测试了没有删除文件。。

TOP

本帖最后由 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楼方法,不知道能不能实现楼主要求。

TOP

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

2楼的那个能够实现删除小于1M的文件。但是不能够删除文件夹。。大哥。你的我测试了。暂时还不行。。

TOP

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

真佩服、、= =    wmic都、、、不会用的飘过、、

TOP

返回列表