重命名/删除带有前导和尾随空格的 Windows (x64) 文件夹

Oce*_*ote 31 windows-7

我已经通过PHP创建了一个文件夹,但是我犯了一个错误,因为我忘记清除空格。现在我无法删除这个文件夹。

我在这里发现了一个类似的问题 -查看第二个答案(下面引用),但我不知道如何使用7-Zip重命名文件夹。

我遇到了同样的问题,在 Windows 7 x64 中,没有任何命令行解决方案在这里工作。

什么为我修好了:

请注意,在重命名之前删除 7-Zip 中的文件夹是不可能的。

我也试过命令行,但它不起作用。我的文件夹名为" 1 ".

我下载了 7-Zip,但 Google 没有提供我需要的帮助。

小智 24

@Ocelot 的答案在 Windows Server 2008 R2 上不起作用。有效的是:

打开命令,切换到目录并执行“dir /x”。您将看到目录的长名称和短名称。您始终可以重命名简短版本,因为它在大多数情况下不包含空格。所以aren 3839F~1.4_T whatever应该是可能的。


小智 18

我刚刚在 linux 中创建的文件夹“Monuments - Discography”遇到了类似的问题。Windows Vista 和 Windows 7 无法将此文件夹识别为有效数据,当我尝试重命名或删除它时,我收到信息消息说该文件夹不存在等。解决方案是使用 7zip 文件管理器探索目录并重命名通过从末尾删除一个空格来删除文件夹。 简单的。现在我可以再次享受音乐了 :D

  • 当所有其他方法都失败时,这在 Windows 10 上对我有用 (2认同)

Pyl*_*lsa 9

在主窗口中找到要重命名的项目。然后右键单击列表中的文件/文件夹并单击“重命名”。

您也可以通过单击一次并按 来选择它F2

编辑:

从命令行试试这个:

rename "\\?\c:\<PATH HERE>\[ ]1[ ]" "<NEW FILE NAME>"
Run Code Online (Sandbox Code Playgroud)

或者

rename "\\?\c:\<PATH HERE>\ 1 " "<NEW FILE NAME>"
Run Code Online (Sandbox Code Playgroud)

请注意,新文件名不采用完整路径,因此只需使用文件名。PATH HERE 只是没有文件的路径。

  • 我有一个末尾有空格的文件夹。这个答案或评论没有任何效果。在 Server 2012 中可能不可能。 (2认同)

sta*_*tor 9

由于我无法重现已接受答案的解决方案,并且其他答案也没有帮助(除了 8.3 命名解决方法),我想分享一些我已经包含在这个答案中的方法:

Windows 命令提示符

创建一个名称中带有空格的文件夹:

md "\\?\C:\FolderWithTrailingSpace "
Run Code Online (Sandbox Code Playgroud)

重命名名称中带有尾随空格的文件夹似乎需要解决方法。使用新名称创建一个文件夹,将内容移至其中,删除旧文件夹:

md "C:\FolderWithoutTrailingSpace"
move "\\?\C:\FolderWithTrailingSpace \*" "C:\FolderWithoutTrailingSpace"
rd "\\?\C:\FolderWithTrailingSpace "
Run Code Online (Sandbox Code Playgroud)

删除名称中带有空格的文件夹:

rd "\\?\C:\FolderWithTrailingSpace "
Run Code Online (Sandbox Code Playgroud)

Windows PowerShell

创建一个名称中带有空格的文件夹:

New-Item -Path "\\?\C:\FolderWithTrailingSpace " -Type Directory
Run Code Online (Sandbox Code Playgroud)

重命名名称中带有尾随空格的文件夹:

Rename-Item -LiteralPath "\\?\C:\FolderWithTrailingSpace " -NewName "\\?\C:\RenamedFolderWithTrailingSpace "
Run Code Online (Sandbox Code Playgroud)

删除名称中带有空格的文件夹:

Remove-Item -LiteralPath "\\?\C:\FolderWithTrailingSpace "
Run Code Online (Sandbox Code Playgroud)

解决方法cd/Set-Location

为了将目录更改为名称中包含尾随空格的文件夹,您可以使用符号链接的解决方法。使用提升的 Windows 命令提示符(在 PS 中不可用)的命令创建名称中带有尾随空格的文件夹的符号链接mklink

mklink /D "C:\FolderWithoutTrailingSpace" "\\?\C:\FolderWithTrailingSpace "
Run Code Online (Sandbox Code Playgroud)

之后,您可以cd在命令提示符或 PowerShell 中使用切换到该目录:

cd C:\FolderWithoutTrailingSpace
Run Code Online (Sandbox Code Playgroud)

或者在 PowerShell 中使用Set-Location

Set-Location -LiteralPath "C:\FolderWithoutTrailingSpace"
Run Code Online (Sandbox Code Playgroud)