中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-17 12:19
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 删除文件 查看 1,991 回复 24
楼 主 删除文件 发表于 2005-08-12 20:16 ·  中国 重庆 九龙坡区 电信
初级用户
积分 29
发帖 14
注册 2005-08-10 22:02
21年会员
UID 41529
性别 男
来自 chongqing
状态 离线
我的目录是d:\kaoshi\error\event\add.pas
我要删除event子目录,dos命令怎么输入???
2 发表于 2005-08-12 20:35 ·  中国 山西 大同 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re wangyu824:

  鉴于此类问题分属于基本的DOS命令理解范畴,请仔细阅读DOS的帮助文档和网络教程,或者将此类问题发表在“入门室”。谢谢合作!
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
3 发表于 2005-08-12 20:54 ·  中国 重庆 九龙坡区 电信
初级用户
积分 29
发帖 14
注册 2005-08-10 22:02
21年会员
UID 41529
性别 男
来自 chongqing
状态 离线
willsort,你还不如直接告诉我
入门室在哪点吗?我没找到,网址?
4 发表于 2005-08-12 21:07 ·  中国 山东 济宁 联通
钻石会员
★★★★★
积分 10,056
发帖 3,041
注册 2002-11-11 00:00
23年会员
UID 223
性别 男
状态 离线
没错,这个问题太简单了,以至于没人敢回答你。
简单就是美
5 发表于 2005-08-12 21:14 ·  中国 重庆 九龙坡区 电信
初级用户
积分 29
发帖 14
注册 2005-08-10 22:02
21年会员
UID 41529
性别 男
来自 chongqing
状态 离线
Michael
回答老又不死人,告诉我哈啥!!!菜鸟向给位大虾请教老
6 发表于 2005-08-12 21:32 ·  中国 湖北 武汉 联通
高级用户
★★★
积分 587
发帖 302
注册 2005-07-25 17:31
21年会员
UID 41046
性别 男
状态 离线
绝对路径 相对路径 和当前目录的关系
所谓 绝对路径 ,就是该目录的完整路径。
譬如 d:\kaoshi\error\event\add.pas 包括了盘符(最顶级目录)和完整的各级目录。
譬如 ..\event\add.pas 这就是一个相对路径,与你现在的当前目录相关联,如果你的当前,目录是d:\kaoshi\error\event,那么..\event\add.pas代表的是d:\kaoshi\error\event\add.pas,但是如果你现在处于d:\kaoshi\那么代表的是d:\event\add.pas。
无论在什么情况下,绝对路径都是可以使用的。你现在已经在d:\kaoshi\error\event\目录下了,所以要对这个目录进行操作,你可以:
1. rd . 其中.的意思是当前目录
2. rd ..\event 其中..的意思是上一级目录

还可以以此类推

一直到
rd d:\kaoshi\error\event\
就是将完整的路径写在后面
这样做了你的DOS提示符还是
d:\kaoshi\error\event>_
但是注意,用DIR命令列表的时候就会少了.和..两项。表示这个目录已经不存在了

最后要注意,rd命令是只删除空目录的,你的这个目录下有文件的话使用deltree命令代替,前提条件是你的硬盘上要有这个外部命令。

我很早的时候也曾经茫然过这个问题^^。但是希望楼主注意发帖的位置。与人方便,与己方便。还有就是不要使用方言或别字。



*******以上内容只能在WIN9X的DOS窗口使用*******
***纯DOS以及NT下的CMD命令不允许删除当前目录****

[ Last edited by fdsiuha on 2005-8-15 at 10:11 ]
欢迎造访DOS的小屋!
http://risky.ik8.com
7 发表于 2005-08-12 22:29 ·  中国 河北 沧州 联通
初级用户
积分 55
发帖 23
注册 2005-08-11 15:25
21年会员
UID 41558
状态 离线
可能用deltree命令
deltree d:\kaoshi\error\event
8 发表于 2005-08-12 23:09 ·  中国 山东 济宁 兖州区 联通
钻石会员
★★★★★
积分 10,056
发帖 3,041
注册 2002-11-11 00:00
23年会员
UID 223
性别 男
状态 离线
还有,就是搞清楚目录和文件的区别。
简单就是美
9 发表于 2005-08-13 09:55 ·  中国 湖北 武汉 联通
高级用户
★★★
积分 587
发帖 302
注册 2005-07-25 17:31
21年会员
UID 41046
性别 男
状态 离线
汗...
不会...add.pas又是一个子目录吧
欢迎造访DOS的小屋!
http://risky.ik8.com
10 发表于 2005-08-13 14:08 ·  中国 河北 石家庄 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
当版主遇到象顶楼这样的菜鸟的时候,是对自己修养的一种严峻考验。

顶楼的同学,我无意于贬低你的任何什么,但你也要理解,当版主也是很不容易的。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
11 发表于 2005-08-13 20:14 ·  中国 山西 大同 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re wangyu824:

  我所说的“入门室”,是指本论坛(中国DOS联盟联合DOS论坛)的 DOS學習入門 & 精彩文章 (教學室),那里有很多人乐意回答你的此类问题。

  在此我更正“入门室”的称谓,应该是“教学室”,对因此而使你产生的困惑,我表示十分抱歉!

Re fdsiuha:

  对绝对路径、相对路径和当前目录的表述,我基本无异议。在此仅对你使用的RD示例表示存疑。

  无论是在MSDOS还是在Window的命令行中,都应该是无法删除当前目录和它的上级目录的,因为若正确执行此命令,对当前路径的引用将引发不可知的问题。

  在MSDOS6.22中提示"Attempt to remove current directory - .";
  在XP的CMD中提示“另一个程序正在使用此文件,进程无法访问。”

  另外,无论在何种情况下,DIR的目录列表都应该会存有.和..的引用的,你所说的情况我从未遇到,不知是否可以举出你所做的测试? 

[ Last edited by willsort on 2005-8-14 at 07:19 ]
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
12 发表于 2005-08-13 21:02 ·  中国 湖北 武汉 联通
高级用户
★★★
积分 587
发帖 302
注册 2005-07-25 17:31
21年会员
UID 41046
性别 男
状态 离线
可以的,你可以在WIN98下测试这个结果

先建立一个目录 a
然后进入到这个目录 cd a
这样的目录结构就是 c:\windows\desktop\a
当前目录 c:\windows\desktop\a
然后删除他 rd c:\windows\desktop\a
或者 rd ..\a
那么,所以以上操作完成之后,现在的提示符仍然为c:\windows\desktop\a>_
在这个情况下列表 dir
屏幕显示如下:

C:\WINDOWS\Desktop>md a

C:\WINDOWS\Desktop>cd a

C:\WINDOWS\Desktop\a>rd ..\a

C:\WINDOWS\Desktop\a>dir

Volume in drive C has no label
Volume Serial Number is 405D-140B
Path not found

C:\WINDOWS\Desktop\a>cd c:\windows\desktop\a
Invalid directory

C:\WINDOWS\Desktop\a>

因为这个时候不存在当前目录的概念了,所以不会有与之关联的本级目录和上级目录的概念。^_^
但是值得说明的一点是,如果这个时候使用了其他需要当前目录的程序,是会出一点问题的,比如会报告“找不到文件”,因为现在没有“当前目录”的概念了。

从编程的角度来说,对于汇编和C语言来说,DOS的环境变量只是内存中一块没有保护,也不用保护的数据块,或者是一个全局变量,那里都可以存取的。但是明显在WINNT模式下不允许这种“纯DOS的行为”。

所以在这个层面上对于DOS来说,DOS7.1要比6.22的目录管理功能灵活一些,能够允许对当前目录进行有限度的操作。要说是问题的话,那这只能说是DOS自身不完善的问题,谁让它这样管理这些环境变量的呢。但这样的操作实际对DOS单任务操作系统,本身是没有什么太大危害的,最多给个出错提示。这是完全可以控制和预料的。

98仍然是DOS的一个GUI,其中的每一个DOS窗口都是不完全独立的DOS,但当前目录对DOS而言只是环境变量的一个部分,还没有上升到系统资源的地步。故每一个DOS窗口都有一个属于自己的不同的环境变量,实际与纯DOS并无本质区别。

至于CMD运行的是WIN32保护模式下的,我是这样认为的,当前这个概念已经上升到系统资源的级别。就算了同一个进程,对只能独占的资源的所进行的操作是不能同时并发进行。。虽然CMD表面上看来确实像一个DOS,但它并不是DOS,甚至不是模拟器+DOS,只是一个模拟的DOS环境,只是一个有图形命令行的WIN32普通程序罢了,与EXPLORER.exe都没有什么本质的区别。而上面的操作,对于一个严格的WIN32程序来说,这样自然是不可以以接受的。

如果有什么不妥的地方希望大家不吝指正,我也是菜菜的^^。

[ Last edited by fdsiuha on 2005-8-13 at 21:55 ]
欢迎造访DOS的小屋!
http://risky.ik8.com
13 发表于 2005-08-13 21:18 ·  中国 河北 石家庄 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
这大概是98的一个bug,我在2003下是无法测试这个结果的。

另外,也不是所有的目录都有.和..的相对路径的,例如磁盘的根目录。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
14 发表于 2005-08-13 21:24 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
23年会员
UID 7105
性别 男
状态 离线
我在XP下试了, 不给删,98没试
15 发表于 2005-08-13 21:59 ·  中国 湖北 武汉 联通
高级用户
★★★
积分 587
发帖 302
注册 2005-07-25 17:31
21年会员
UID 41046
性别 男
状态 离线
我对后面两位的帖子做了一些说明和修改,就在原文上。可能会造成一些发贴顺序的逻辑混乱,勿怪^^。
欢迎造访DOS的小屋!
http://risky.ik8.com
论坛跳转: