标题: [原创] [批处理命令一日一教学](7)删除文件:del[2009.2.12更新] [打印本页]
作者: namejm 时间: 2009-1-1 17:07 标题: [批处理命令一日一教学](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 的缩写形式
作者: yslyxqysl 时间: 2009-1-1 17:10
还有,del和erase等价。
作者: wuha3619 时间: 2009-1-1 17:38
呵呵 进来学习了。 多谢
作者: coolhui 时间: 2009-1-1 23:45
学习了,没想到del命令还有这么多学问,谢谢楼主分享·~~~
作者: wolhh 时间: 2009-1-21 13:30
努力学习中~~~~~~~~
作者: 523066680 时间: 2009-1-24 13:04
还有....delete 跟del .......
作者: 心愿怕人 时间: 2009-1-28 16:24
[email]340458053@QQ.COM[/email],这个是我的邮箱!希望有学习资料的可以给我点
作者: 523066680 时间: 2009-1-28 17:25
对于ls 的内容 大家有何观点……
我以为,学习还是靠主动。 找资料这种事情……
[ 本帖最后由 523066680 于 2009-1-28 17:26 编辑 ]
作者: tangshikan 时间: 2009-1-29 13:02
辛苦楼主了,谢谢分享
作者: w2008k 时间: 2009-1-29 20:24
学习中~~~~~~~
作者: batman 时间: 2009-2-13 01:20
跟两段代码,加深理解,同时突出下del *.*命令
这一段是生成一个test文件夹,并在该文件夹下随机生成一系列文件的代码:- @echo off&setlocal enabledelayedexpansion
- set "str=abcdefghijklmnopqrstuvwxyz0123456789"
- set "code=jpg txt bat exe wma mp3"
- md test&cd test
- 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
复制代码
第二段是用来删除test中所有的文件的:- @echo off&del /q /f test\*.*
复制代码
作者: whedu 时间: 2009-2-24 13:38
学习完毕,del是delete的缩写,其与erase等效。
作者: irresolute 时间: 2009-3-13 10:02 标题: 这段代码有误
- @echo off&setlocal enabledelayedexpansion
- set "str=abcdefghijklmnopqrstuvwxyz0123456789"
- set "code=jpg txt bat exe wma mp3"
- md test&cd test
- 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 /a b=!random!%%5+1&call :lp此句改成set /a b=!random!%%6+1&call :lp就能生成mp3类型的文件了
作者: guao_jie 时间: 2009-3-26 21:32
非常感谢,才进来不到2小时。对这个批处理很感兴趣。谢谢
作者: rat 时间: 2009-3-26 21:52
foce -> force
作者: 5810239q 时间: 2009-4-2 23:03
经常用到的一个命令,记下了
作者: 5810239q 时间: 2009-4-4 20:15
erase与del等效,这个刚刚知道
作者: Agan 时间: 2009-4-7 13:14
del和erase之间有什么区别吗?
作者: Batcher 时间: 2009-4-7 13:18 标题: 回复 18楼 的帖子
有。
del命令只需输入3个字符:d、e、l
erase命令需要输入5个字符:e、r、a、s、e
作者: leaparde 时间: 2009-4-9 13:32
原帖由 Batcher 于 2009-4-7 13:18 发表
有。
del命令只需输入3个字符:d、e、l
erase命令需要输入5个字符:e、r、a、s、e
厉害,这个回答。。。。
作者: xiaridexue28 时间: 2009-4-9 15:02
太感谢了,我现在也正在找这个呢。谢谢!!!!!!!!
作者: peterwang 时间: 2009-4-10 09:09
来学习了,谢谢分享!!@
作者: luzhanhong 时间: 2009-4-10 15:53
多谢楼主,关Del命令,可以温习啦
作者: wangxin016 时间: 2009-6-11 14:15
多举一些例子病毒的例子很形象,多谢~
作者: ynkm0871 时间: 2009-6-12 16:41
慢慢学习的啦,对批处理越来越有兴趣了,感谢并支持!
作者: momosp 时间: 2009-6-12 19:24
向楼主学习
作者: sunsnow 时间: 2009-6-12 23:12
一日一教学 一日一学习 积跬步至千里
作者: canyuexiaolang 时间: 2009-8-28 13:15
学习了,顺便问一下,这一日一教学还是N日一教学啊,等死我了
作者: yettybetty 时间: 2009-9-23 11:07
向楼主学习
作者: tangweichao 时间: 2009-10-15 22:53
学习了,很不错的,简单易学
作者: abeltan 时间: 2009-10-28 11:12
学到了不少东西,简单的命令有这么多的参数
作者: batchernew 时间: 2010-7-26 21:54 标题: 求batman的代码注释
我是新手,看不懂batman那段代码,请问谁能给出那段代码的注释啊?
作者: ljlkebi 时间: 2011-1-4 16:21
书写很认真,内容很强大!
作者: lxwlt 时间: 2011-5-5 10:41
我是新手,看不懂batman那段代码,请问谁能给出那段代码的注释啊?
batchernew 发表于 2010-7-26 21:54
我也看不懂能讲解一下不??、
作者: zaixinxiangnian 时间: 2011-8-13 20:47
del /a(指定要删除文件的属性)
/s(指定删除所有子文件夹的内容)
/q(.安静模式删除)
/f(强制删除)
del=erase
作者: 兜兜米 时间: 2011-8-26 10:31
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%%"
作者: xslxslxsl 时间: 2011-8-26 11:17
在此学习了
作者: Batcher 时间: 2011-8-26 12:45
回复 37# 兜兜米
请到代码咨询&讨论版块发帖提问
作者: huxiaomeia 时间: 2011-10-9 21:39
嗯嗯 这些东西我喜欢 希望楼主 给些高级程序的同时 给些菜鸟学习的东西 照顾些 菜菜 。。。。。。。。。。。。。。。。。。
作者: Fantasys 时间: 2011-10-13 14:14
call,set "var=!var!%%str:~!a!,1%%"
新手啊,对这一句不太理解。
作者: andy七少 时间: 2011-10-14 16:44
温故而知新
作者: chengeng430 时间: 2012-9-15 08:30
只能删文件?
作者: hero1997 时间: 2014-12-23 11:21
最常见的命令也会有一些功能是不知道的。
作者: ylaiyic 时间: 2015-1-2 00:10
讲得非常详细,感谢楼主
作者: wrsbj 时间: 2015-1-2 14:53
非常的好,多谢楼主
作者: bakatu 时间: 2017-4-27 10:47
看完了,十分感谢
作者: dada5142 时间: 2017-7-27 16:34
今天刚开始学习~~
作者: arjo 时间: 2021-7-30 14:39
del命令能接收管道的数据么?
比如一个txt文件里面有文件名的列表,通过type命令输出,通过管道给del命令删除可以么?
作者: qixiaobin0715 时间: 2021-7-30 14:50
最简单的办法:自己试一试。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |