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

[原创] [批处理命令一日一教学](7)删除文件:del[2009.2.12更新]

[一日一教学]批处理系列帖子索引 http://www.bathome.net/thread-2576-1-1.html

标题:一日一教学系列7_文件删除:del
首发地址:http://bbs.bathome.net/topicadmin.php?tid=2962
首发日期:2009.01.01
更新日期:无

上一篇:文件复制:copy http://bbs.bathome.net/viewthread.php?tid=2863
下一篇:重命名文件(夹):ren http://bbs.bathome.net/viewthread.php?tid=3318

  删除文件使用的命令是del,它的全称是delete。(另:erase与del等效,感谢 yslyxqysl 提醒

  del命令的用法很简单,使用 "del 文件路径" 的格式就可以了。比如,想删除D盘根目录下的test.txt,使用del d:\test.txt即可。

  但是,并不是所有的文件都可以只用del命令就可以搞定,比如具有隐藏属性、只读属性或者系统属性的文件,假如d:\test.txt具有隐藏属性,如果仅仅是 del d:\test.txt 的话,d:\test.txt会纹丝不动。如何删除它?这时候,就需要对del加上一些辅助参数了,隐藏属性是hidden,使用del /a:h,只读属性是read,使用del /a:r,系统属性是system,使用del /a:s,如果不知道文件是什么属性,那么,使用del /a即可——不过有一种情况是例外,当文件具有只读属性的时候,还得添加 del /a /f 参数,所以,如果要对不知道属性的文件进行强制删除,使用 del /a /f 语句是最保险的做法。在这里,/f  参数表示强制删除只读属性文件的意思,f取自force,也就是强制的意思。

  有段时间,威金病毒肆虐网络,以摧枯拉朽之势毁灭了不少文件,其中,最关键的一点是在每个目录下生成了一个desktop.ini文件,只要把这些desktop.ini文件删除,这个病毒就没有了危害性。要删除每个目录下的desktop.ini文件,如果点开一个个的子文件夹删除的话,将不胜其烦,如果使用del命令,简单的一条语句就可以搞定,那就是:在指定目录下执行 del /a /f /s desktop.ini 命令。在这里,/s 表示搜索当前目录下的所有子文件夹,并删除指定文件的意思,s取自sub,表示“从属的”、“子目录的”的含义。

  删除文件是件十分危险的事情,稍有不慎,就可能删掉了重要的文件,所以,在执行删除操作的时候,需要小心谨慎。如果需要在删除之前进行确认的话,可以添加一个参数:/p。

  当然,对于十分有把握的删除操作,并不需要逐一确认的,可以选择静默删除模式,这时候,需要使用参数:/q,也就是 quiet 的缩写形式
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

最简单的办法:自己试一试。

TOP

del命令能接收管道的数据么?

比如一个txt文件里面有文件名的列表,通过type命令输出,通过管道给del命令删除可以么?

TOP

今天刚开始学习~~

TOP

看完了,十分感谢

TOP

非常的好,多谢楼主

TOP

讲得非常详细,感谢楼主

TOP

最常见的命令也会有一些功能是不知道的。

TOP

只能删文件?

TOP

温故而知新
智慧是创造财富的唯一保障!

TOP

call,set "var=!var!%%str:~!a!,1%%"
新手啊,对这一句不太理解。

TOP

嗯嗯   这些东西我喜欢   希望楼主 给些高级程序的同时 给些菜鸟学习的东西  照顾些 菜菜  。。。。。。。。。。。。。。。。。。
不是最好的hack  愿做最好的学者  求知识。。。。

TOP

回复 37# 兜兜米


请到代码咨询&讨论版块发帖提问
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

在此学习了

TOP

for /l %%a in (1,1,20) do (
    for /l %%b in (1,1,9) do (
          set /a a=!random!%%36
          call,set "var=!var!%%str:~!a!,1%%"
     )
    set /a b=!random!%%5+1&call :lp
    set "var="
)
goto :eof
:lp
for /f "tokens=%b%" %%c in ("%code%") do echo.>!var!.%%c
能否解释一下这段代码的意思,特别是set "var=!var!%%str:~!a!,1%%"
每天进步一点点

TOP

返回列表