如何删除 PowerShell 说不存在的文件?

Pat*_*key 5 powershell delete-file

我将我的 Google Drive 添加到我的 OneDrive 并在其中包含一个包含无效名称 (con.mp3) 的文件。当我尝试删除文件(及其所在的目录)时,我收到“无效的文件句柄”。所以我尝试以管理员身份使用 PowerShell 删除它。

下面是目录列表显示的文件,结果Remove-Itemdel

PS> dir

    Directory: C:\Users\Patrick\OneDrive\Google Drive\CW\CW.15WPM.VeryShortWords


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        1/13/2018  11:49 AM         117069 con.mp3


PS> Remove-Item * -Force
Remove-Item : An object at the specified path C:\Users\Patrick\OneDrive\Google
Drive\CW\CW.15WPM.VeryShortWords\con.mp3 does not exist.
At line:1 char:1
+ Remove-Item * -Force
+ ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Remove-Item], PSArgumentException
    + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.RemoveItemCommand

PS> del *.*
del : An object at the specified path C:\Users\Patrick\OneDrive\Google Drive\CW\CW.15WPM.VeryShortWords\con.mp3 does
not exist.
At line:1 char:1
+ del *.*
+ ~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Remove-Item], PSArgumentException
    + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.RemoveItemCommand
Run Code Online (Sandbox Code Playgroud)

如何删除此文件,以便删除目录?我尝试从 Google Drive 中删除它,但它没有同步到我的电脑。

小智 12

保留字con不应用作路径/文件名(或其中的一部分)。

您必须使用该-LiteralPath参数并最终\\?\ 在删除时添加前缀。

所以尝试:

Remove-Item -LiteralPath "\\?\C:\Users\Patrick\OneDrive\Google Drive\CW\CW.15WPM.VeryShortWords\con.mp3" -Force
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,您可以在 cmd 窗口中尝试:

Del "\\?\C:\Users\Patrick\OneDrive\Google Drive\CW\CW.15WPM.VeryShortWords\con.mp3"
Run Code Online (Sandbox Code Playgroud)

如果这没有帮助,请阅读:https :
//support.microsoft.com/en-us/help/320081/you-cannot-delete-a-file-or-a-folder-on-an-ntfs-file -系统卷