中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 大家帮忙完善一个批处理 上一主题 | 下一主题
sunshineus
初级用户





积分 20
发帖 10
注册 2008-7-9
状态 离线
『楼 主』:  大家帮忙完善一个批处理

用Dreamweaver做网页,但是Dreamweaver通常会在网站文件夹下自动创建名为“_notes”的文件夹,“_notes”文件夹下也会创建一些站点记录文件,比如:_notes.xml等;

我想做一个批理文件:“clean_notes.bat”,在做好网站后,把“clean_notes.bat”文件复制到网站文件夹里里运行一次,以达到把网站文件夹下所有子文件夹里的“_notes”的文件夹删除,并把所有子文件夹里的“_notes”里的文件夹里的所有文件也删除。

PS:我知道删除一个文件夹前,要先把这个文件里的文件删除(不知道是不是绝对是这样?)。

下面是我写到一半的,还不能实现我的要求,请高手指教:
clean_notes.bat
------------------------------
@echo off
echo 正在清除,请稍等......
del /f/s/q f:\mySite\*.*
rd /f/s/q f:\mySite\_notes
echo 清除完成!
echo. & pause
------------------------------
1、怎么判断只删除“_notes”目录下的所有文件而已?
2、这个脚本还要指定物理目录(f:\mySite\),想实现把“clean_notes.bat”复制到某一个目录后,就会在复制到的目录里开始工作,而不用指定目录(f:\mySite\),不知可不可以实现?

2008-7-10 00:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 2 楼』:  


@echo off
for /f "delims=" %%i in ('dir /s /ad /b f:\mysite') do echo %%i|findstr "_notes">nul&&rd /q /s "%%i"
echo 搞定&pause>nul
[ Last edited by zw19750516 on 2008-7-10 at 12:36 AM ]



批处理之家新域名:www.bathome.net
2008-7-10 00:35
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 3 楼』:  

不用先删文件再删文件夹,rd可以直接删文件夹和文件夹里面的文件。
rd没有/f开关



2008-7-10 00:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sunshineus
初级用户





积分 20
发帖 10
注册 2008-7-9
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by zw19750516 at 2008-7-10 12:35 AM:
[code]
@echo off
for /f "delims=" %%i in ('dir /s /ad /b f:\mysite') do echo %%i|findstr "_notes">nul&&rd /q /s "%%i"
echo 搞定&pause>nul
[/cod ...

是不是可以实现放这个批处理放到任何一下文件夹都可以啦?
能够注解一下让我这些菜鸟看明白就好了。

[ Last edited by sunshineus on 2008-7-10 at 01:32 AM ]

2008-7-10 01:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 5 楼』:  

放在哪个目录下就对哪个目录进行操作。包括子目录
@for /f "delims=" %%a in ('dir/b/s/ad "_notes"') do @rd /s/q "%%a"
[ Last edited by 26933062 on 2008-7-10 at 01:33 AM ]



致精致简!
2008-7-10 01:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  

哪一部分看不明白就问,自然有人解答^_^



2008-7-10 01:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sunshineus
初级用户





积分 20
发帖 10
注册 2008-7-9
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by HAT at 2008-7-10 01:34 AM:
哪一部分看不明白就问,自然有人解答^_^

@for /f "delims=" %%a in ('dir/b/s/ad "_notes"') do @rd /s/q "%%a"
1、@for 是什么意思?
2、/f 是不是强制删除只读文件?
3、delims 是什么命令?
4、%%a 是一个变量吗?
5、dir/b/s/ad 什么意思?

2008-7-10 01:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 8 楼』:  

@ 是不在cmd窗口显示运行的命令语句
for 是命令
/f 是for 的参数
delims 应该也算是 for 的参数吧,不知道怎么说,反正是给for命令指定条件用的。
dir 是什么不用我说了吧?
/b /s /ad 都是dir的参数
具体的看命令帮助吧。  运行 dir  /?
朋友,你是第一天接触批处理吧?恕我直言,你这样问是难得学会的,还是自己看帮助,从基础学起吧!



致精致简!
2008-7-10 01:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sunshineus
初级用户





积分 20
发帖 10
注册 2008-7-9
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by 26933062 at 2008-7-10 01:46 AM:
朋友,你是第一天接触批处理吧?恕我直言,你这样问是难得学会的,还是自己看帮助,从基础学起吧!

是呀,这几天才刚刚看到批处理的东西,觉得挺有用的,也没什么基础,我也不是学计算机也不是学程序的,只是有点爱好。
上网百度一些批得理的教程也只是很零碎的,有什么教程介绍一下吗?

2008-7-10 01:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 10 楼』:  

把本版的置顶帖子看完,那是最好的教程。



2008-7-10 03:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by 26933062 at 2008-7-10 01:31:
放在哪个目录下就对哪个目录进行操作。包括子目录
@for /f "delims=" %%a in ('dir/b/s/ad "_notes"') do @rd /s/q "%%a"
[ Last ...

兄弟这样是不是会将其它目录下的_notes文件夹也删除掉的啊,因为我们从楼主的描述中是不能肯定所有的_notes文件夹都是没用的。



批处理之家新域名:www.bathome.net
2008-7-10 08:17
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 12 楼』:  



  Quote:
2、这个脚本还要指定物理目录(f:\mySite\),想实现把“clean_notes.bat”复制到某一个目录后,就会在复制到的目录里开始工作,而不用指定目录(f:\mySite\),不知可不可以实现?

你可以把“clean_notes.bat”放到"_notes"同一目录,然后建立“clean_notes.bat”的快捷方式,再把此快捷方式复制到你方便操作的目录即可



2008-7-10 10:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 13 楼』:  



  Quote:
Originally posted by zw19750516 at 2008-7-10 08:17:

兄弟这样是不是会将其它目录下的_notes文件夹也删除掉的啊,因为我们从楼主的描述中是不能肯定所有的_notes文件夹都是没用的。

删除批处理所在目录及子文件夹里的所以_notes文件夹,这难道不是楼主的意图?



致精致简!
2008-7-10 11:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by 26933062 at 2008-7-10 11:56:


删除批处理所在目录及子文件夹里的所以_notes文件夹,这难道不是楼主的意图?

这个脚本还要指定物理目录(f:\mySite\),想实现把“clean_notes.bat”复制到某一个目录后,就会在复制到的目录里开始工作,而不用指定目录(f:\mySite\),不知可不可以实现?



批处理之家新域名:www.bathome.net
2008-7-10 12:01
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 15 楼』:  

呵呵,个人理解不同。



致精致简!
2008-7-10 12:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: