求个批量删除文件的bat命令 批量删除d:\123 文件夹下所有子文件夹里的小于10K的html文件 bat应该怎么写

如题所述

=====123.vbs的内容=======
dim vbshell
set vbshell=wscript.createobject("wscript.shell")
vbshell.run "123.bat",0,true
set vbshell=nothing
wscript.quit
==========结束========
注:如果是同一个文件夹下,就直接输入文件名。也可以使用绝对路径,如:
vbshell.run "c:\123\123.bat"
如果是同一分区下,比如都在C下,也可以使用相对路径,一个“..\”代表123.vbs的上一级文件夹,两个“..\”即:"..\..\"代表123.vbs上两级文件夹,以此类推。比如123.vbs在C:\123文件夹下,123.bat在C:\abc文件夹下,则为:
vbshell.run "..\abc\123.bat"
如果123.vbs在C:\123\456文件夹下,123.bat在C:\abc文件夹下,则为:
vbshell.run "..\..\abc\123.bat"
依此类推。
另外,vbshell.run "123,bat",0,true后面的0和true,都是run的参数,其中0这个位置的参数可以取0至10的值,不写的话默认值是1。其他分别代表的意思如下:
0 隐藏一个窗口并激活另一个窗口。
1 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。第一次显示该窗口时,应用程序应指定此标志。
2 激活窗口并将其显示为最小化窗口。
3 激活窗口并将其显示为最大化窗口。
4 按最近的窗口大小和位置显示窗口。活动窗口保持活动状态。
5 激活窗口并按当前的大小和位置显示它。
6 最小化指定的窗口,并按照 Z 顺序激活下一个顶部窗口。
7 将窗口显示为最小化窗口。活动窗口保持活动状态。
8 将窗口显示为当前状态。活动窗口保持活动状态。
9 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。还原最小化窗口时,应用程序应指定此标志。
10 根据启动应用程序的程序状态来设置显示状态。
后面的参数true 代表等待123.bat执行完毕后再执行下面的命令,默认值是false(不等执行完就进行下一条命令)。这个的好处是,比如你run的是一个win32图形界面的程序,它会等你执行完才进行下一步,而批处理做不到。
run还有返回值,0代表执行123.bat成功,否则是失败。所以,你可以令
returnvalue=vbshell.run "123.bat",,true
来判断是否执行成功,进而用if语句执行条件选择命令。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-15
@echo off
for /f %%i in ('dir/s/b d:\123\*.html^|findstr /I .html') do (
for /f "tokens=3" %%j in ('dir "%%i"^|findstr html') do if %%j lss 10240 del "%%i"
)
第2个回答  2011-07-15
wmic datafile where "drive='d:\123' 'and FileSize<'10000'" call delete
第3个回答  2011-07-15
@echo off
For /r "d:\123" %%i in (*.html) do (if %%~zi lss 10240 del /f /q "%%~fi")
pause
::1kb=1024b本回答被提问者采纳