如何删除文件名无效的文件?

how can I delete file which has invalid file name?

有 2 个loader.bin。 但是其中一个在文件名末尾有carrage return。 因此,我无法删除文件和包含该文件的目录。 即使有命令提示符,我也无法删除它。 我试过了:

del *
del loader.*

上面说名称或标签有误。 所以我

cd ..
dir /x

查看目录的DOS路径名 并用 DOS 路径删除 删除TEXT_L~1 再一次,上面说名称或标签是错误的。

我也试过删除前缀为“\?\”的目录。 类似于:

del "\?\D:\directory\blahblah\directory"

再次出现名称错误。

如何删除这个文件? 我能得到一些提示吗?

我猜名字末尾有回车符 return 因为 git 自动完成 bash 将名字补全为 "loader.bin^M"

我认为该文件来自批处理文件中的错误命令,例如:

fasm file.asm loader.bin(here's carriage return)

(fasm是汇编程序) 当我将平台从 linux 更改为 windows.

时,批处理文件的行尾可能已更改

编辑: 该文件也拒绝通过以下方法删除。

  1. 使用 /P 选项删除

    del /P directoryName
    
  2. 与 DeleteFileW windows API

    #include <windows.h>
    int main()
    {
        DeleteFileW(L"E:\directory\blahblah\directory");
    }
    

我从来没有遇到过这个问题,但也许使用 del /P directory 你可以删除文件。

更新

您可以使用实时 Linux 发行版并删除您需要的文件。

谢谢