经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Windows » 查看文章
MS-DOS 中 CD 命令的执行逻辑(为什么有时候看起来没有起作用)
来源:cnblogs  作者:asnelin  时间:2020/12/8 8:59:05  对本文有异议

MS-DOS 中 CD 命令的用法

CD 命令可以改变我们当前的工作目录,直接输入 CD 不加参数的话可以显示当前的目录。输入 cd /? 可以看到关于 CD 命令的用法帮助,其他 DOS 命令也类似,下面是 CD 命令的帮助说明:

  1. 显示当前目录名或改变当前目录。

    CHDIR [/D] [drive:][path]
    CHDIR [..]
    CD [/D] [drive:][path]
    CD [..]

      ..   指定要改成父目录。

    键入 CD drive: 显示指定驱动器中的当前目录。
    不带参数只键入 CD,则显示当前驱动器和目录。 # 注意,这里说显示驱动器和目录,二者分开说了

    使用 /D 开关,除了改变驱动器的当前目录之外,
    还可改变当前驱动器。
    ...(后面的省略)

可以看到 CD 命令就是直接在后面加路径,例如,要进入 Download 目录:

  1. C:\Users\AULA> # 这是当前的工作目录
  2. C:\Users\AULA>cd Downloads
  3. C:\Users\AULA\Downloads>

CD 命令为什么会看起来没有起作用

那么,如果我们要进入 D 盘的一个目录,例如:D:\BilibiliDownload,那么我们输入:

 

  1. C:\Users\AULA>cd d:BilibiliDownload # 子目录不用加斜杠 \ ,按 tab 键可以自动补全
  2. C:\Users\AULA>

 

结果只是输出了一个空行,貌似 CD 命令并没有起到切换目录的作用。事实上,CD 命令的作用是用于切换目录,而在 MS-DOS 中,我们的路径是包含驱动器号与目录的,二者是不同的,这也就是在 CD 命令的帮助中为什么要将二者分开讲的原因。

上面这条命令执行后也没有出现错误,事实上它也是起了作用的。这里有两个不同的地方:驱动器的当前目录和我们的工作目录。在 MS-DOS 中,将每一个磁盘驱动器都视为一个单独的目录树,每一个驱动器都可以有一个当前目录,而工作目录就是 CMD 窗口左侧的前缀 C:\Users\AULA>

可以输入 cd drive: 查看对应驱动器的当前目录:

  1. C:\Users\AULA>cd d:
  2. D:\BilibiliDownload # 驱动器 D: 的当前目录
  3. C:\Users\AULA>cd c:
  4. C:\Users\AULA # 驱动器 C: 的当前目录

我们之前的那条命令改变了驱动器 D: 的当前目录,并没有改变我们的工作目录,因为 CD 命令不能跨驱动器切换。可以直接先输入 D: 切换驱动器后,再用 CD 命令进入相应的目录。或者添加参数 /D 强制切换工作目录:

  1. C:\Users\AULA>cd /d d:\BilibiliDownload
  2. d:\BilibiliDownload>

现在工作路径已经成功切换到了 D 盘。

总结

在 MS-DOS 中,CD 命令默认是在同一个目录树中切换工作路径,Windows 中每一个驱动器都是一个单独的目录树,每个驱动器都有一个当前目录。直接输入路径跨驱动器访问,只会改变对应驱动器的当前目录,不会更改 CMD 的工作目录,需要添加参数 /d 强制切换。

 

原文链接:http://www.cnblogs.com/asnelin/p/14008186.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号