龙空技术网

批处理命令--玩转目录之cd(补充篇)

我想我知 146

前言:

此时姐妹们对“c语言目录操作”大致比较着重,各位老铁们都需要学习一些“c语言目录操作”的相关内容。那么小编在网上搜集了一些关于“c语言目录操作””的相关知识,希望姐妹们能喜欢,姐妹们快快来了解一下吧!

#头条家时光#

上篇我们讲到pushd和popd是一对网络上的难兄难弟,一个负责冲锋:打开路径的门,一个负责善后:关闭路径的门。

不知大家还有没有印象,当时曾提到一个命令cd,是类似的功能,只是不适用于UNC网路路径。

在《DOS或CMD下的常用操作》一文中,我也曾提到这个命令:

另外,cd..是返回上一层目录的意思,cd\是返回根目录的意思,cd是change directory的简写,切换目录的意思.

如cd ttc就切换到当前的ttc目录下了,也可跟具体的盘符路径,如cd c:\ttc等,如果要转换盘符后面不能带\,如要写成cd d:,cd e:等等。

这是因为转换盘符改变了环境(c盘一般作为启动盘,是DOS的默认环境,因此它可以cd c:\,但其它盘不行,加\就是代表目录,.\代表当前目录,c:\代表c盘根目录)。

如要切换到其他盘符的目录,不能直接切换,需要先切换盘符,再切换目录。如只键入cd代表当前盘符和文件夹路径。

可能你会看到cd可以帮你切换到名字带空格的文件夹而不需在路径上加引号,这表明cd不把空格当作分隔符。

这里其实有个问题:

如果处在C盘的任一路径下,使用cd e:或cd e:\都不能切换到E盘,那么切换E盘到底应该怎样操作呢?

我们还是看下语法:

1.cd是change directory的简写,同于chdir,切换目录或文件夹,改变目录的意思。

2.cd\或cd/是返回更目录的意思。

3.cd..是返回上一层目录的意思。

4.cd.是切换当前目录的意思,不会改变什么。

总结:其实在DOS命令中.、..和\都是表示相对路径的,.是当前目录,..是上一层目录,而\则表示根目录。

因此,如果你见到cd ..\..这样的命令也就见怪不怪了,它表示返回再返回,就是到上上层目录。

5.cd是显示当前目录(路径)的意思,cmd模式下直接键入cd会显示出当前的路径,批处理下可以这样使用

例子:

@echo off

echo 当前路径是 %cd%

pause

执行显示的是当前的完整路径。

6.如果命令扩展被允许(默认是允许的),cd可以直接切换到具体的文件夹路径,而且cd不把空格当做分隔符。

例子:

C:\>cd new folder

C:\New folder>cd\

C:\>cd "new folder"

C:\New folder>cd\

C:\>cd c:\new folder\68

c:\New folder\68>

也就是切换到文件夹有没空格都不影响,和加引号是一样的效果。也可以直接键入要切换的路径,直接用cd直达到要切换的目录。

6.盘符切换问题

既然cd e:或cd e:\都不能切换到E盘,怎么切换呢?

方法一:直接键入e:(注意是e:不是e:\,没有\)

方法二:使用参数/d,cd /d e:或cd /d e:\,甚至可以直接切换到e盘的目录,如cd /d e:\123

问题来了,cd e:或 cd e:\123切换的是什么呢,可以看到当你这样操作后,再次使用e:切换盘符时,路径直接跳转到你刚刚切换的路径上去了。

因此cd e:或 cd e:\123的意思是显示指定盘的当前目录。cd是显示当前盘的当前目录。

也就是cd /d e:\123,相当于cd e:\123加e:这2个操作命令。前者因为用了参数,一行命令就解决了,后者需要2步。

总结:

1>.命令cd e:或者cd e:\目录名,是将工作目录切换到指定位置,然后切换到对应的盘就会自动到指定目录下,并不能切换盘符

2>. 想要切换盘符,直接使用命令e:或者cd /d e:即可。

7.tab键目录自动补全

当你键入cd c:\prog或cd prog后,不要急着按回车,试着按tab键试试,你会发现每按一次tab键,系统会自动给你补全一个存在的目录,你只需要再按下回车就切换到该目录了。是不是很方便?

tab的自动补全功能,在Linux系统也可以使用。当你忘记某个命令时,如果只记得开头的几个字符,是完全可以使用tab键来帮你想起来的。

另外一个有用的功能是上下箭头键,可以查看刚刚键入的命令,避免再次敲入。这些都是常用的技巧。

标签: #c语言目录操作