[批处理命令一日一教学](1)目录跳转:cd
[一日一教学]批处理系列帖子索引 [url]http://www.bathome.net/thread-2576-1-1.html[/url]标题:一日一教学系列1_目录跳转:cd
首发地址:[url=http://bbs.bathome.net/viewthread.php?tid=2513]http://bbs.bathome.net/viewthread.php?tid=2513[/url]
发表日期:2008.11.12
更新日期:无
上一篇:无
下一篇:以树形格式罗列文件:tree [url=http://bbs.bathome.net/viewthread.php?tid=2514]http://bbs.bathome.net/viewthread.php?tid=2514[/url]
当我们需要处理不同路径下的文件的时候,很可能需要切换目录,这个时候,可以考虑使用目录跳转命令cd。
例如,我们打开命令行窗口的时候,一般是这样操作的:在桌面左下角找到“开始”菜单,打开“运行”,输入“cmd”,回车。这个时候,命令行窗口默认的当前目录位于当前用户所在的路径下,比如:C:\Documents and Settings\JM,如下图所示。
[align=center][attach]577[/attach][/align] 一般而言,这个目录下并没有我们想要处理的文件,我们很可能需要跳转到其他目录,比如说:C盘根目录,这个时候,我们就需要使用cd来实现目录的跳转了:cd c:\。
[align=center][attach]578[/attach][/align] cd的全称是Change Directory,直译为改变文件夹,也就是跳转目录、切换路径的意思。它后面可以接驱动器符号、完整路径和相对路径。从它的全称可以得知,它不能操控文件,而只能作用于驱动器或文件夹。例如,我们使用 cd c:\boot.ini 这个命令来跳转(boot.ini是文件而非文件夹),就会出现“目录名无效”的错误,如下图所示。
[align=center][attach]579[/attach][/align] 如果要跳转到当前目录的根目录下的话,可以使用一条简单的命令:cd\。如下图所示。
[align=center][attach]580[/attach][/align] 继续跳转,cd c:\windows\temp,跳转到临时目录下。
此时,如果想回到上一层目录windows,可以使用这条命令:cd..。如下图所示。
[align=center][attach]581[/attach][/align] 想想看,如果执行 cd. 会发生什么情况?
结果,目录没有发生跳转,原地不动。如下图所示。利用这个原理,可以用 cd.>test.txt 来构造0字节的文本文件。详细情况,请参考这篇文章:[url=http://bbs.bathome.net/viewthread.php?tid=939][color=blue]本人常用的批处理实用技巧[/color][/url] 之第2点。
[align=center][attach]582[/attach][/align] 原来,[b]在cmd中,.、..和\表示相对路径,[color=red].[/color]是当前目录,[color=red]..[/color]是上一层目录,而[color=red]\[/color]表示根目录。[/b]
来看一个比较诡异的现象:
[align=center][attach]583[/attach][/align] 从当前目录下跳转到不同分区路径d:\的时候,cd d:\没有成功,当前目录没有发生改变;当添加了一个参数 /d 之后,命令成功地执行了。原来,[b]要跳转到不同分区的时候,需要添加强制跳转参数 /d 。但是,如果进入的是当前目录的子目录,则可以不使用 /d 参数。[/b]这一点是很容易被大家忽略的,希望能引起足够的重视。
再来看一个更加诡异的现象:
[align=center][attach]584[/attach][/align] 原来,当输入的是当前驱动器号+冒号的时候,将显示当前目录的完整路径;当输入的是当前驱动器号+冒号+反斜杠的时候,将跳转到当前路径的根目录下。
[b]CD 的另一个非常有价值的用途是:显示当前的完整路径,一般用通过 %cd% 加以引用。[/b]如下图所示。此时,CD 作 Current Directory 解释,即“当前文件夹”。
[align=center][attach]586[/attach][/align] 高级话题:看看下面这幅图反映了什么问题?
[align=center][attach]585[/attach][/align] 呵呵,
温习温习了 支持...
P处理教育还是要从基础做起.. @echo 每天学习学习 呵呵,学习了新点.
cd.>test.txt 最有一张图片,输入cd d: 显示d:\ 说明上次从d盘跳出时是在根目录。如果输入下面命令(输完一个按一次回车)(设d:下有movie文件夹):
d:
cd movie
c:
cd d:
输入后则会显示d:\movie 一直没有用过 cd /d
谢谢了 这句好看
cd.>test.txt
另外运行中输入
.
..
...
也都是有用的, 这个我们上课的时候也用过 呵呵,最基本的DOS命令. %cd%
又张见识了,谢谢楼主 学习了,楼主幸苦
很实用 原来就一个CD命令就这么多用法 学习了 很详细啊~谢谢~~~~~ /d 没用过啊,怪不得在CMD中老是转不到其他盘符~~~ 原来要跳转到其他盘根目录下还要加/d参数啊,以前一直还要先回根目录再跳转呢,现在明白了,谢谢楼主分享~~~ 学习了,谢谢
最后一个图没搞懂,怎么又不需要/d了呢???
[[i] 本帖最后由 p05401144 于 2009-1-7 14:48 编辑 [/i]] 哈哈 学到知识我就兴奋 好高兴~~~
努力学习批处理中~~~~~~ 我的发现:
如果输入c:,d:,e:将会进入相应的磁盘 而且显示的不是根目录 好像是最近访问过的文件夹 楼主老师,您留的高级话题是不是说用来列对方的驱动器列表,看看对方的盘符到底有哪些?我刚刚试了试,当我这里没有J:\盘时再用cd j:\命令会提示没有驱动器J。不知我说的对不对。 高级话题是指更改和显示其他盘的当前目录。
[table=90%,black][tr][td][font=宋体][color=Silver]C:\Documents and Settings\Administrator>cd /d d:\my documents
D:\My Documents>c:
C:\Documents and Settings\Administrator>cd c:
C:\Documents and Settings\Administrator
C:\Documents and Settings\Administrator>cd d:
D:\My Documents
C:\Documents and Settings\Administrator>cd d:\
C:\Documents and Settings\Administrator>cd d:
D:\
C:\Documents and Settings\Administrator>[/color][/font][/td][/tr][/table]
[[i] 本帖最后由 wxcute 于 2009-1-28 11:31 编辑 [/i]] 通俗易懂!一个简单的CD就有这么多用法!!!
输入d:
cd /d d:
cd d:\
效果是一样的,都是进入D:的根目录!
[[i] 本帖最后由 zjw767676 于 2009-1-31 13:17 编辑 [/i]] 今天刚报到,学完第一课,大有收获!
cd.>test.txt这个有什么作用吗?
直接右键新建的文本文档有什么区别?都是0字节啊!不懂?或许我太笨!请多多指教! 进来是一步步的,跳出去是不是也是要一步步的出去。类似堆栈 [quote]原帖由 [i]p05401144[/i] 于 2009-1-7 14:47 发表 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=18567&ptid=2513][img]http://www.bathome.net/images/common/back.gif[/img][/url]学习了,谢谢
最后一个图没搞懂,怎么又不需要/d了呢??? [/quote]
cd c: 命令 如果不加 \ 符号,可以切换到非当前根目录下的其它根目录。 很好的资料,今天要用的时候才发现批处理原来还能这样使用 从基础开始末 @echo off
学习了
cd转换地址时,应该可以总是打开开关/d吧?
假如bat文件在E:\study\bat\下面:命令:cd C:\study
结果:命令无效,因为当前在E:\,所以,无法到C:\下面,要想跨盘操作,需要打开 /d
命令:cd /d C:\study
结果是当前地址指向指定位置C:\study
结论:为了在任何情况下,都能够转到任意指定位置,可以总是打开这个开关 /d
这个结论应该成立,并可以利用吧,如果是这样,对于我等新手来说,总是打开/d就好了