- 主题:windows cmd cd一直令人迷惑的设计
跟旧有的dos命令保持行为一致吧。
为什么当初这么写,这个估计得探究dos的历史。可能是硬件资源限制,改目录和改驱动
器(分区)是两个不同的部分,用户需要加d选项,才两个动作一起做。微软系的系统没
有单一根目录一说,至少命令行没有。
这个行为,在power shell里面,就被改为类似Linux的,一站式cd。
【 在 exo 的大作中提到: 】
: 不会根据路径自己判断吗为啥跨驱动器一定要/d
: 比如C:\Users\xx>cd /d d:/data才会改变当前目录为d:\data>
: 如果没/d的话 C:\Users\xx>cd d:/data 的结果是C:\Users\xx>并没有改变当前目录, 让人感觉这条命令无效,但这个时候如果C:\Users\xx>d: 结果会是d:\data>, 实际上前面那个cd还是有效的...
: ...................
--
FROM 119.129.53.*
我同意前面板友说的,和现有批处理兼容。
现有批处理中,假设当前目录为"c:\windows",按当前行为,命令"cd d:\dir1"不会改
变当前目录。
如果默认 /d,当前目录就变了,接下来的处理也不一样。
不会破坏逻辑,但可能破坏现有批处理。
【 在 Qlala 的大作中提到: 】
: 默认 /d
: 并不会破坏任何逻辑
--
FROM 119.129.53.*
我只是提个用例,说明不同行为模式下的异同。
人家围绕%drive%和%dir%写两个for循环排列组合切换路径也是可以的。
【 在 exo 的大作中提到: 】
: 没看明白,那这条没有/d的cd在批处理里是干啥的?
--
FROM 119.129.53.*