中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 04:57
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 大家帮忙完善一个批处理
可打印版本  1,729 / 17
第1楼 sunshineus 发表于 2008-07-10 00:23
初级用户 发帖 10 积分 20
大家帮忙完善一个批处理
用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\),不知可不可以实现?
第2楼 bat-zw 发表于 2008-07-10 00:35
金牌会员 发帖 1,276 积分 3,105


[ Last edited by zw19750516 on 2008-7-10 at 12:36 AM ]
第3楼 HAT 发表于 2008-07-10 00:36
版主 发帖 5,017 积分 9,023
不用先删文件再删文件夹,rd可以直接删文件夹和文件夹里面的文件。
rd没有/f开关
第4楼 sunshineus 发表于 2008-07-10 01:31
初级用户 发帖 10 积分 20
Originally posted by zw19750516 at 2008-7-10 12:35 AM:
第5楼 26933062 发表于 2008-07-10 01:31
银牌会员 发帖 879 积分 2,268
放在哪个目录下就对哪个目录进行操作。包括子目录


[ Last edited by 26933062 on 2008-7-10 at 01:33 AM ]
第6楼 HAT 发表于 2008-07-10 01:34
版主 发帖 5,017 积分 9,023
哪一部分看不明白就问,自然有人解答^_^
第7楼 sunshineus 发表于 2008-07-10 01:40
初级用户 发帖 10 积分 20
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 什么意思?
第8楼 26933062 发表于 2008-07-10 01:46
银牌会员 发帖 879 积分 2,268
@ 是不在cmd窗口显示运行的命令语句
for 是命令
/f 是for 的参数
delims 应该也算是 for 的参数吧,不知道怎么说,反正是给for命令指定条件用的。
dir 是什么不用我说了吧?
/b /s /ad 都是dir的参数
具体的看命令帮助吧。 运行 dir /?
朋友,你是第一天接触批处理吧?恕我直言,你这样问是难得学会的,还是自己看帮助,从基础学起吧!
第9楼 sunshineus 发表于 2008-07-10 01:53
初级用户 发帖 10 积分 20
Originally posted by 26933062 at 2008-7-10 01:46 AM:
朋友,你是第一天接触批处理吧?恕我直言,你这样问是难得学会的,还是自己看帮助,从基础学起吧!

是呀,这几天才刚刚看到批处理的东西,觉得挺有用的,也没什么基础,我也不是学计算机也不是学程序的,只是有点爱好。
上网百度一些批得理的教程也只是很零碎的,有什么教程介绍一下吗?
第10楼 HAT 发表于 2008-07-10 03:41
版主 发帖 5,017 积分 9,023
把本版的置顶帖子看完,那是最好的教程。
第11楼 bat-zw 发表于 2008-07-10 08:17
金牌会员 发帖 1,276 积分 3,105
Originally posted by 26933062 at 2008-7-10 01:31:
放在哪个目录下就对哪个目录进行操作。包括子目录


[ Last ...

兄弟这样是不是会将其它目录下的_notes文件夹也删除掉的啊,因为我们从楼主的描述中是不能肯定所有的_notes文件夹都是没用的。
第12楼 radem 发表于 2008-07-10 10:24
高级用户 发帖 383 积分 691
2、这个脚本还要指定物理目录(f:\mySite\),想实现把“clean_notes.bat”复制到某一个目录后,就会在复制到的目录里开始工作,而不用指定目录(f:\mySite\),不知可不可以实现?


你可以把“clean_notes.bat”放到"_notes"同一目录,然后建立“clean_notes.bat”的快捷方式,再把此快捷方式复制到你方便操作的目录即可
第13楼 26933062 发表于 2008-07-10 11:56
银牌会员 发帖 879 积分 2,268
Originally posted by zw19750516 at 2008-7-10 08:17:

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


删除批处理所在目录及子文件夹里的所以_notes文件夹,这难道不是楼主的意图?
第14楼 bat-zw 发表于 2008-07-10 12:01
金牌会员 发帖 1,276 积分 3,105
Originally posted by 26933062 at 2008-7-10 11:56:


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

这个脚本还要指定物理目录(f:\mySite\),想实现把“clean_notes.bat”复制到某一个目录后,就会在复制到的目录里开始工作,而不用指定目录(f:\mySite\),不知可不可以实现?
第15楼 26933062 发表于 2008-07-10 12:05
银牌会员 发帖 879 积分 2,268
呵呵,个人理解不同。
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023