首页 > 代码库 > DOS:第一天

DOS:第一天

cd,有时也写作chdirchange directory,改变目录),是在Unix、Windows和DOS操作系统下用于改变工作目录的命令行命令。在Unix的外壳脚本与Windows或DOS的批处理文件中亦可使用。CHDIR()还是Visual Basic改变工作目录的一个函数。

 

目录

  [隐藏] 
  • 1用法
  • 2工作原理
  • 3参考文献
  • 4参见

 

用法[编辑]

目录是文件系统用于保存文件的逻辑区段,而目录还可以包含有其他的目录。通过cd命令,可以前进到子目录、后退到父目录、回到根目录(Unix下为“/”,DOS下为“\”)或者进入到任何给出的目录中去。

假设下面的这一小段为Unix文件系统,显示的是一位用户的起始目录(以“~”表示),其中有一个文件(“text.txt”)和三个子目录。

技术分享
在类UNIX系统中,用户从起始目录(通常简写作“~”)看到的文件系统。从起始目录开始,树状图会延伸出更多的子目录和/或文件来。

 

当用户的当前工作目录为起始目录(“~”)时,首先输入命令“ls”,然后输入“cd games”,会产生下列的效果:

  me@host:~$ ls
  workreports games encyclopedia text.txt
  me@host:~$ cd games
  me@host:~/games$

该用户现在的工作目录即为“game”目录。

在DOS中,与之相似的过程(“起始目录”的概念可能会不适用,这取决于该DOS的版本)会像这样显示:

   C:\> dir
   workreports        <DIR>       Wed Oct 9th   9:01
   games              <DIR>       Tue Oct 8th  14:32
   encyclopedia       <DIR>       Mon Oct 1st  10:05
   text        txt           1903 Thu Oct10th  12:43
   C:\> cd games
   C:\games>

应注意的一点是,在不同的操作系统中,如果不给出变量会让cd产生不同的结果。例如,如果在DOS下不给出变量而执行,会显示出当前的工作目录来;而在Unix下不给出变量而执行,则会返回到起始目录去。在脚本或批处理内执行的cd,也会产生不同的结果。在DOS中,批处理文件中使用的该命令可以直接改变调用者的当前目录;而在Unix下,使用cd命令的脚本则无法改变调用者的当前目录。这是因为在Unix下的脚本通常在子外壳中执行。

工作原理[编辑]

cd通常是由命令行解释器内建提供的。绝大多数的Unix shell(Bourne shell、tcsh、bash等)、Windows的cmd.exe和Windows PowerShell、以及DOS的COMMAND.COM均是这种情况。

Windows的命令行外壳通常使用Windows API来改变当前的工作目录;而Unix系统的cd则是调用POSIX C的函数chdir():即是,当该命令执行时,不会为前往另一个目录而创建一个新的进程,而是由外壳代为执行这条命令,ls等其他命令也是这种情况。这是因为,创建新的进程时,子进程会继承父进程创建时的目录。而如果cd命令继承了父进程的目录,则它永远也不能达到它的目标。 cd.. 回到上一层目录。

参考文献[编辑]

  • Chdir. Microsoft TechNet. 2005年 [2007年10月8日] (中文(中国大陆)?).

参见[编辑]

  • CD (DOS命令)

-------

回到根目录:cd /

技术分享

CD命令只能进入当前盘符中的文件夹,改变操作的根目录(改变操作盘符),则不需用cd。例如你当前是在c:盘下,要到d:盘,只需键入d:回车就行了

技术分享

 

 

如果想返回到上一层目录,在当前命令提示符下输入cd..

 

 技术分享

更改默认目录:cd d:\mulu

技术分享

 

若需帮助:命令 /?

参数:技术分享

 

技术分享

 

 

进入其他磁盘的目录:cd /d d:\aaa 

 技术分享

 

DOS:第一天