批处理命令详解之目录跳转:cd
当我们需要处理不同路径下的文件的时候,很可能需要切换目录,这个时候,可以考虑使用目录跳转命令cd。
例如,我们打开命令行窗口的时候,一般是这样操作的:在桌面左下角找到“开始”菜单,打开“运行”,输入“cmd”,回车。这个时候,命令行窗口默认的当前目录位于当前用户所在的路径下,比如:C:\Documents and Settings\JM,如下图所示。
一般而言,这个目录下并没有我们想要处理的文件,我们很可能需要跳转到其他目录,比如说:C盘根目录,这个时候,我们就需要使用cd来实现目录的跳转了:cd c:\。
cd的全称是Change Directory,直译为改变文件夹,也就是跳转目录、切换路径的意思。它后面可以接驱动器符号、完整路径和相对路径。从它的全称可以得知,它不能操控文件,而只能作用于驱动器或文件夹。例如,我们使用 cd c:\boot.ini 这个命令来跳转(boot.ini是文件而非文件夹),就会出现“目录名无效”的错误,如下图所示。
如果要跳转到当前目录的根目录下的话,可以使用一条简单的命令:cd\。如下图所示。
继续跳转,cd c:\windows\temp,跳转到临时目录下。
此时,如果想回到上一层目录windows,可以使用这条命令:cd..。如下图所示。
想想看,如果执行 cd. 会发生什么情况?
结果,目录没有发生跳转,原地不动。如下图所示。利用这个原理,可以用 cd.>test.txt 来构造0字节的文本文件。详细情况,请参考这篇文章:本人常用的批处理实用技巧 之第2点。
原来,在cmd中,.、..和\表示相对路径,.是当前目录,..是上一层目录,而\表示根目录。
来看一个比较诡异的现象:
从当前目录下跳转到不同分区路径d:\的时候,cd d:\没有成功,当前目录没有发生改变;当添加了一个参数 /d 之后,命令成功地执行了。原来,要跳转到不同分区的时候,需要添加强制跳转参数 /d 。但是,如果进入的是当前目录的子目录,则可以不使用 /d 参数。这一点是很容易被大家忽略的,希望能引起足够的重视。
再来看一个更加诡异的现象:
原来,当输入的是当前驱动器号+冒号的时候,将显示当前目录的完整路径;当输入的是当前驱动器号+冒号+反斜杠的时候,将跳转到当前路径的根目录下。
CD 的另一个非常有价值的用途是:显示当前的完整路径,一般用通过 %cd% 加以引用。如下图所示。此时,CD 作 Current Directory 解释,即“当前文件夹”。
高级话题:看看下面这幅图反映了什么问题?
以上所述就是本文的全部内容了,希望大家能够喜欢。
下一篇:windows7系统去除快捷方式小箭头BAT脚本分享