我需要有人向我解释一下“ cd ..”命令序列中发生了什么(请注意,“ cd”和“ ..”之间没有空格):
c:\sebas\miscosas\escacs\pgns\$_ya\2018_08_sants>cd..
c:\sebas\miscosas\escacs\pgns\$_ya>cd..
c:\sebas\miscosas\escacs\pgns>cd..
c:\sebas\miscosas\escacs>cd..
c:\sebas\miscosas>cd..
'cd..' is not recognized as an internal or external command,
operable program or batch file.
我确实只写过一次“ cd ..”,后来我使用“向上箭头”来恢复以前的命令。
为什么第5次失败?
OpSys是Windows Server 2008 R2,版本6.1,内部版本7601。
谢谢
顺便说一句,如果我使用“ cd ..”(在“ cd”和“ ..”之间有一个空格),那么一切都很好。
答案 0 :(得分:-1)
cd..
的语法错误,只是偶然。
正确的语法是:命令 SPACE 参数
命令为cd
,参数为相对路径..\
。
但是cmd.exe
首先使用cd
搜索名称为cd..
的文件,因为它会将cd..
解释为输入错误的文件名,而不是内部命令 CD < / strong>。 Windows命令处理器会在当前目录中确实存在一个名为cd
的文件时尝试运行找到的文件,因为目录c:\sebas\miscosas
显然是这种情况。
cd..
在搜索合适的目录条目时将cmd.exe
末尾的两个点删除。删除尾随空格/制表符和尾随点几乎总是作为纠错的一部分完成的,因为可以在运行命令行时看到:
echo Hello world!>"cd.. "
此命令行创建名称为cd
的文件,文件末尾没有两个点和两个空格。
另请参阅与DosTips论坛主题ECHO. FAILS to give text or blank line - Instead use ECHO/有关的主题。
另请参阅有关Naming Files, Paths, and Namespaces的Microsoft文章。
即使当前目录中有一个名为cd..\
的文件,也可以使用cd
。但是,该命令行仍然使用错误的语法,并且仅在偶然的情况下可以再次使用。如果当前目录中有一个名为cd.
的文件,则此命令行将再次失败,因为cmd.exe
现在正在当前目录中搜索一个名为cd.
的文件。
因此,将来仅使用正确语法为cd ..\