如何删除windows上以点(.)结尾的目录?

如何删除windows上以点(.)结尾的目录?,windows,powershell,windows-server-2012-r2,7zip,powershell-5.0,Windows,Powershell,Windows Server 2012 R2,7zip,Powershell 5.0,我错误地创建了一个文件,为了我的生命,我无法删除它。如果你已经安装了,你可以生产它。如果没有,则易于安装 以下是创建文件的方式: PS C:\temp> mkdir abc PS C:\temp> cd abc PS C:\temp\abc> & 'C:\Program Files\7-Zip\7z.exe' a -spf .\DuoWindowsLogon.admx,.\en-us\DuoWindowsLogon.adml Creating archive: .\

我错误地创建了一个文件,为了我的生命,我无法删除它。如果你已经安装了,你可以生产它。如果没有,则易于安装

以下是创建文件的方式:

PS C:\temp> mkdir abc
PS C:\temp> cd abc

PS C:\temp\abc> & 'C:\Program Files\7-Zip\7z.exe' a -spf .\DuoWindowsLogon.admx,.\en-us\DuoWindowsLogon.adml

Creating archive: .\DuoWindowsLogon.admx,.\en-us\DuoWindowsLogon.adml
后来,我了解到我应该键入的正确命令是:

& 'C:\Program Files\7-Zip\7z.exe' a abc.7z -spf DuoWindowsLogon.admx en-us\DuoWindowsLogon.adml
意识到错误后,我尝试删除错误创建的目录:

PS C:\temp\abc> ls
d-----       11/15/2020  11:09 PM                DuoWindowsLogon.admx,.

PS C:\temp\abc> ls D*
ls : Could not find item C:\temp\abc\DuoWindowsLogon.admx,..

PS C:\temp\abc> ls | rm
rm : Cannot find path 'C:\temp\abc\DuoWindowsLogon.admx,.' because it does not exist.

PS C:\temp\abc> rm *
rm : An object at the specified path C:\temp\abc\DuoWindowsLogon.admx,. does not exist.

PS C:\temp\abc> cd ..
PS C:\temp> rm -recurse abc
rm : Could not find a part of the path 'C:\temp\abc\DuoWindowsLogon.admx,'.
正如你所看到的,没有任何效果。我还尝试了文件浏览器(GUI),它也不起作用。如何删除目录

附言:

我在CMD提示符下尝试了“del/s”,但未产生错误,但文件未被删除:

c:\>del /s c:\temp\abc
c:\temp\abc\*, Are you sure (Y/N)? Y

c:\>dir c:\temp\abc
11/15/2020  11:09 PM    <DIR>          DuoWindowsLogon.admx,.
c:\>del/s c:\temp\abc
c:\temp\abc\*,您确定(是/否)?Y
c:\>目录c:\temp\abc
2020年11月15日晚上11:09 DuoWindowsLogon.admx,。

您可以删除以“.”结尾的目录,方法是在其前面加上
\\?\

因此,在您的情况下,您可以使用:

Remove-Item `\\?\C:\temp\abc\DuoWindowsLogon.admx,.` -Recurse
这里记录了这一点:

如果文件名中包含 无效名称(例如,文件名后面有空格或 尾随句点或文件名仅由空格组成)。到 要解决此问题,请使用使用适当内部工具的工具 删除文件的语法。您可以将“
\\?\
”语法与一些 用于操作这些文件的工具,例如:

del "\\?\c:\<path_to_file_that contains a trailing space.txt>"
del“\\?\c:\”
此问题的原因与原因4类似。但是,如果您使用 打开带有尾随空格或空格的文件的典型Win32语法 尾随句点在其名称中,尾随空格或句点为 在实际文件打开之前剥离


您可以删除以“.”结尾的目录,方法是在其前面加上
\\?\

因此,在您的情况下,您可以使用:

Remove-Item `\\?\C:\temp\abc\DuoWindowsLogon.admx,.` -Recurse
这里记录了这一点:

如果文件名中包含 无效名称(例如,文件名后面有空格或 尾随句点或文件名仅由空格组成)。到 要解决此问题,请使用使用适当内部工具的工具 删除文件的语法。您可以将“
\\?\
”语法与一些 用于操作这些文件的工具,例如:

del "\\?\c:\<path_to_file_that contains a trailing space.txt>"
del“\\?\c:\”
此问题的原因与原因4类似。但是,如果您使用 打开带有尾随空格或空格的文件的典型Win32语法 尾随句点在其名称中,尾随空格或句点为 在实际文件打开之前剥离


请尝试Windows deltreeMy Windows 2012R2没有deltree。正如你在我文章底部看到的,我确实尝试使用“删除项”(rm)删除父目录,但失败了。然后重试。德尔/s@Marichyasana它不起作用,我在文章末尾添加了截图。我相信您可以使用本文中的步骤重现问题。请尝试Windows deltreeMy Windows 2012R2没有deltree。正如你在我文章底部看到的,我确实尝试使用“删除项”(rm)删除父目录,但失败了。然后重试。德尔/s@Marichyasana它不起作用,我在文章末尾添加了截图。我相信你可以使用帖子中的步骤重现这个问题。这很有效,我已经将此标记为答案,谢谢!为什么我们需要“\\?\”以及该文档在哪里?@puravidaso更新了支持文档。谢谢。我知道名字是不正常的,但不知道结束点是问题,所以我无法有效地搜索。感谢您的帮助。这很有效,我已经将此标记为答案,谢谢!为什么我们需要“\\?\”以及该文档在哪里?@puravidaso更新了支持文档。谢谢。我知道名字是不正常的,但不知道结束点是问题,所以我无法有效地搜索。谢谢你的帮助。