中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 粉碎文件怎么升级粉碎文件夹
作者:
标题: 粉碎文件怎么升级粉碎文件夹 上一主题 | 下一主题
wert123
中级用户





积分 301
发帖 135
注册 2007-5-15
状态 离线
『楼 主』:  粉碎文件怎么升级粉碎文件夹

下面的是网上传载的牛 x bat,我U盘里面的一个文件夹是空的(非系统隐藏属性),文件大小也是空的,但是老删除不了,提示无法删除文件123:目录不是空的
谁能把下面bat改下,支持整个文件夹吗
或者谁告诉我有删文件夹的工具,等着救命呀!
@echo off
rem 文件粉碎工具
echo 注意!危险操作!
pause
for /f "tokens=3*" %%a in ('dir /-c %1^|find "文件"') do fsutil file setzerodata offset=0 length=%%a %1
del %1
echo 文件已彻底粉碎完毕!
pause

dir /-c这个参数的作用是,平常我们查看文件大小的时候会有逗号,我们用/-c 就可以省略掉那些逗号了.
最主要的就是这句了.

fsutil file setzerodata offset=0 length=%%a %1

offset 说明我要从头开始清,length 就是文件的长度咯。%1就是你要粉碎的文件了.

所以把上面的代码保存为.bat文件后,只要拖要粉碎的文件到其上面就可以了,还有一个方法就是直接将其添加到又键菜单.这样更加方便了.
=================================================================================
不过只能针对 NTFS 卷,  将其修改了一下


@echo off
rem 文件粉碎工具
if not exist %~1 echo 文件不存在&&goto :eof
set usr=net localgroup administrators
%usr%|find "%username%">nul||echo 不是管理员&&goto :eof
chkntfs %~d1|find "NTFS">nul||echo 非 NTFS 卷&&goto :eof
echo 注意!危险操作!&echo.
for /f "tokens=3*" %%a in ('dir /-c /-b %1^|find "文件"') do fsutil file setzerodata offset=0 length=%%a %1
>nul
echo 文件已彻底粉碎完毕!&echo.
pause

[ Last edited by wert123 on 2007-11-17 at 07:35 PM ]

2007-11-16 09:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wert123
中级用户





积分 301
发帖 135
注册 2007-5-15
状态 离线
『第 2 楼』:  

=

2007-11-17 19:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: