中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 00:56
楼 主 大家帮忙完善一个批处理 发表于 2008-07-10 00:23 ·  中国 广东 广州 电信
初级用户
积分 20
发帖 10
注册 2008-07-09 23:40
UID 121301
性别 男
状态 离线
用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 发表于 2008-07-10 00:35 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
UID 112398
性别 男
状态 离线

@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
3 发表于 2008-07-10 00:36 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
不用先删文件再删文件夹,rd可以直接删文件夹和文件夹里面的文件。
rd没有/f开关
4 发表于 2008-07-10 01:31 ·  中国 广东 广州 电信
初级用户
积分 20
发帖 10
注册 2008-07-09 23:40
UID 121301
性别 男
状态 离线
Originally posted by zw19750516 at 2008-7-10 12:35 AM:

@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 sunshineus on 2008-7-10 at 01:32 AM ]
5 发表于 2008-07-10 01:31 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
UID 73968
性别 男
状态 离线
放在哪个目录下就对哪个目录进行操作。包括子目录

@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 ]
致精致简!
6 发表于 2008-07-10 01:34 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
哪一部分看不明白就问,自然有人解答^_^
7 发表于 2008-07-10 01:40 ·  中国 广东 广州 电信
初级用户
积分 20
发帖 10
注册 2008-07-09 23:40
UID 121301
性别 男
状态 离线
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 发表于 2008-07-10 01:46 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
UID 73968
性别 男
状态 离线
@ 是不在cmd窗口显示运行的命令语句
for 是命令
/f 是for 的参数
delims 应该也算是 for 的参数吧,不知道怎么说,反正是给for命令指定条件用的。
dir 是什么不用我说了吧?
/b /s /ad 都是dir的参数
具体的看命令帮助吧。 运行 dir /?
朋友,你是第一天接触批处理吧?恕我直言,你这样问是难得学会的,还是自己看帮助,从基础学起吧!
致精致简!
9 发表于 2008-07-10 01:53 ·  中国 广东 广州 电信
初级用户
积分 20
发帖 10
注册 2008-07-09 23:40
UID 121301
性别 男
状态 离线
Originally posted by 26933062 at 2008-7-10 01:46 AM:
朋友,你是第一天接触批处理吧?恕我直言,你这样问是难得学会的,还是自己看帮助,从基础学起吧!

是呀,这几天才刚刚看到批处理的东西,觉得挺有用的,也没什么基础,我也不是学计算机也不是学程序的,只是有点爱好。
上网百度一些批得理的教程也只是很零碎的,有什么教程介绍一下吗?
10 发表于 2008-07-10 03:41 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
把本版的置顶帖子看完,那是最好的教程。
11 发表于 2008-07-10 08:17 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
UID 112398
性别 男
状态 离线
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
12 发表于 2008-07-10 10:24 ·  中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
UID 119451
性别 男
状态 离线
2、这个脚本还要指定物理目录(f:\mySite\),想实现把“clean_notes.bat”复制到某一个目录后,就会在复制到的目录里开始工作,而不用指定目录(f:\mySite\),不知可不可以实现?


你可以把“clean_notes.bat”放到"_notes"同一目录,然后建立“clean_notes.bat”的快捷方式,再把此快捷方式复制到你方便操作的目录即可
13 发表于 2008-07-10 11:56 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
UID 73968
性别 男
状态 离线
Originally posted by zw19750516 at 2008-7-10 08:17:

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


删除批处理所在目录及子文件夹里的所以_notes文件夹,这难道不是楼主的意图?
致精致简!
14 发表于 2008-07-10 12:01 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
UID 112398
性别 男
状态 离线
Originally posted by 26933062 at 2008-7-10 11:56:


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

这个脚本还要指定物理目录(f:\mySite\),想实现把“clean_notes.bat”复制到某一个目录后,就会在复制到的目录里开始工作,而不用指定目录(f:\mySite\),不知可不可以实现?
批处理之家新域名:www.bathome.net
15 发表于 2008-07-10 12:05 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
UID 73968
性别 男
状态 离线
呵呵,个人理解不同。
致精致简!
论坛跳转: