如何在命令提示符下使用CD命令更改为仅用空格命名的文件夹?

时间:2018-08-23 05:03:36

标签: batch-file cmd whitespace

我正在创建一个批处理文件,我想进入一个仅命名为空白的目录,例如:

"D:/Drive/ "

我尝试使用""''"/""%20",但没有任何效果。

请给我一个解决方案。

非常感谢。

3 个答案:

答案 0 :(得分:2)

我能够用mkdir "\\?\D:\ "的{​​{3}}创建目录。但是,资源管理器或cmd无法访问该文件夹

在Windows资源管理器中,尽管实际上已经输入了子文件夹,但输入该文件夹始终显示父文件夹的内容,因此您无法对该内容进行任何操作,并且资源管理器的标题栏变为空白,因为它显示了文件夹名称。在cmd中,除非您使用fully-qualified path中的技巧,否则cd将保留在父文件夹中。您可能需要删除或重命名

不幸的是我还没有找到一种方法来重命名文件夹。但是,使用相同的路径删除它很容易

rmdir "\\?\D:\ "

正常路径也可以,但是您 总是需要最后一个斜杠

mkdir ".\ \"
rmdir ".\ \"

可以 将文件存储在该文件夹中

D:\>>".\ \a.txt" echo abc

D:\>type ".\ \a.txt"
abc

一旦文件夹中有一些内容,资源管理器现在就可以正常输入了。不幸的是,cmd仍然无法更改为它。完全合格的路径可能会有所帮助,不幸的是cmd不支持它。但是 PowerShell确实支持它,并且可以像资源管理器一样输入它

PS D:\> cat '.\ \a.txt'
abc
PS D:\> cd '.\ \'
cd : An object at the specified path D:\  does not exist.
At line:1 char:1
+ cd '.\ \'
+ ~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Set-Location], PSArgumentException
    + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.SetLocationCommand

PS D:\> cd '\\?\D:\ \'
PS Microsoft.PowerShell.Core\FileSystem::\\?\D:\ > dir


    Directory: \\?\D:\


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        8/23/2018   3:39 PM              5 a.txt

输入后,很遗憾,您不能使用cd ..返回,而必须再次使用完全限定的路径

PS Microsoft.PowerShell.Core\FileSystem::\\?\D:\ > cd ..
cd : Cannot find path '\\?\D:' because it does not exist.
At line:1 char:1
+ cd ..
+ ~~~~~
    + CategoryInfo          : ObjectNotFound: (\\?\D::String) [Set-Location], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetLocationCommand

PS Microsoft.PowerShell.Core\FileSystem::\\?\D:\ > echo `"$(pwd)`"
"Microsoft.PowerShell.Core\FileSystem::\\?\D:\ "

答案 1 :(得分:1)

好吧,这是一种特殊情况,因为Windows不允许文件夹和文件名以空格开头。 正如Paxz在评论中提到的那样,我也无法重现此内容,因此我只是假设您使用了不间断的空间?

在这种情况下,您将使用以下语法:cd " ",但请放慢。

  

您不能只按此处的空格,您需要按住ALT键,然后   在按住ALT的同时按0160。   同样不要忘记,您需要使用键盘右侧的Num Block中的数字。

答案 2 :(得分:1)

要输入名为的目录,您需要使用cd " \ \"。我不知道为什么你需要做两次。

enter image description here

请注意,在通常情况下,这是永远不可能的。但是,如果该文件夹是在Linux上创建然后复制的,则Windows会尽力使其正常工作。