中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 02:09
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教批处理删除目录的问题 查看 2,416 回复 20
16 发表于 2007-06-18 16:03 ·  中国 四川 成都 电信
初级用户
积分 46
发帖 20
注册 2007-06-17 08:56
19年会员
UID 91575
性别 男
状态 离线
创建时的批处理:

@echo off
for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
if not exist %%a:\nul goto :eof
echo %%a drive OK !
for /f %%b in (myCatalogue.txt) do (
IF EXIST %%b\nul goto 1
echo 目录不存在创建并写入!
md %%a:\%%b
md %%a:\%%b\abc..\
attrib %%a:\%%b +s +h +r
:1
echo 目录存在写入!
rem md %%a:\%%b\abc..\
)
)
pause
17 发表于 2007-06-18 16:05 ·  中国 四川 成都 电信
初级用户
积分 46
发帖 20
注册 2007-06-17 08:56
19年会员
UID 91575
性别 男
状态 离线
删除时的批处理:

@echo off
for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
if not exist %%a:\nul goto :eof
echo %%a drive OK !
for /f %%b in (myCatalogue.txt) do (
IF EXIST %%a:\%%b\nul goto 1
echo 目录不存在!
rem md %%a:\%%b
rem md %%a:\%%b\abc..\
:1
echo 目录存在删除!
rem attrib %%a:\%%b -s -h -r
rem rd %%a:\%%b\abc..\
attrib -s -r -h %%a:\%%b
rd %%a:\%%b
)
)
pause
18 发表于 2007-06-18 16:13 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
你改成这样试试:


@echo off
for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
if not exist %%a:\nul goto :eof
echo %%a drive OK !
for /f %%b in (myCatalogue.txt) do (
IF EXIST %%a:\%%b\nul call :_delit %%a %%b
echo 目录不存在!))
pause
goto :eof

:_delit
echo %1:\%2目录存在,删除之!
attrib -s -r -h %1:\%2
rd /s /q %1:\%2
goto :eof
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
9299 +2 2007-06-19 10:55
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
19 发表于 2007-06-18 16:21 ·  中国 四川 成都 电信
初级用户
积分 46
发帖 20
注册 2007-06-17 08:56
19年会员
UID 91575
性别 男
状态 离线
哇,OK!
Climbing大侠你简直太棒了!
不过还烦请您解释下是错在哪里?
不胜感激
20 发表于 2007-06-19 09:21 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
我觉得问题应该出在for循环中嵌套的:1标签上,说实在的,我喜欢用简单的代码来实现复杂的操作,所以我的代码将那个:1标签变成了一个外置于for循环的函数,通过在循环中调用这个函数来实现对应的操作。但具体的问题到底出在哪里,我也不是很了解。
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
9299 +2 2007-06-19 10:53
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
21 发表于 2007-06-19 10:54 ·  中国 四川 成都 电信
初级用户
积分 46
发帖 20
注册 2007-06-17 08:56
19年会员
UID 91575
性别 男
状态 离线
谢谢呐,我给你加了分
论坛跳转: