找不到要通过 git bash 删除的文件,但它显示在文件资源管理器中

图77

我昨天开始学习git,当我创建ssh key时犯了一个错误,如第一张图所示。

创建文件img

我尝试了.bat删除方式和dosdel命令,仍然无法删除名为cd ..
文件提示说cannot find file文件大小的属性是 0 字节。

资源管理器中的文件

如何删除这个文件?

VonC

我设法cd ..<path/to/git>\latest\usr\binin删除了 CMD Windows 中的%PATH%这使我可以访问rm.exe.

vonc@VONCAVN7 C:\test
> where rm
D:\prgs\git\latest\usr\bin\rm.exe

我有:

vonc@VONCAVN7 C:\test
> dir /x
 Volume in drive C is test

 Directory of C:\test

08/08/2017  07:11    <DIR>                       .
08/08/2017  07:11    <DIR>                       ..
08/08/2017  07:11                 0              cd ..

有了这个,我输入:

vonc@VONCAVN7 C:\test
> rm cd*

然后文件cd ..不见了

正如eryksun评论那样

rm.exe不是 Linux 应用程序。它使用msys-2.0.dll,它与来自kernel32.dll.NET 的Windows API 函数和来自ntdll.dll.
在这种情况下,它是如何绕过 Windows API 进行直接系统调用来解决问题的:(NtOpenFile打开目录列出它并打开“ cd ..”文件删除它),NtQueryDirectoryFile(列出目录),和NtSetInformationFile(设置文件的删除处置)。


正如eryksun评论的那样,纯 Windows 语法(意思是,它不需要类似 Git Linux 的命令rm)也可以工作:

del "\\?\C:\test\cd .."

请参阅“添加到文件路径是什么\\?\意思”。
这将禁用所有字符串解析并将其后的字符串直接发送到文件系统。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过 bash 在文件资源管理器中打开 Windows 启动文件夹?

Windows资源管理器中嵌入的ConEmu中的Git Bash

在文件资源管理器中显示git分支

如何在Windows资源管理器上下文菜单中重新获取git bash

打开Git Bash时资源管理器停止响应

“找不到文件”通过 Windows 资源管理器打开存储在 SP 库中的 Visio 文档

Windows资源管理器显示文件时,出现“找不到VBScript OpenTextFile文件”错误

如何通过资源管理器删除Python文件

在Windows的Git“ git bash”中,如何以cmd和Windows资源管理器可用的Windows路径格式“打印工作目录”?

如何通过Python脚本在Windows资源管理器中打开文件夹?

Windows 10的Android Studio 3.4-找不到设备文件资源管理器

在我设备的文件资源管理器上找不到我的应用数据

bash:git:在MSYS中找不到命令

在git bash中找不到wget命令

Git存储库文件夹未出现在文件资源管理器中

Git Bash-Windows-启动屏幕启动和资源管理器启动之间的字体大小不同

如何在Windows资源管理器中添加“在这里打开git-bash ...”上下文菜单?

Visual Studio如何在团队资源管理器中打开文件而不是差异窗口更改git

通过文件资源管理器获取文件的路径

可以通过Windows资源管理器删除文件,但不能通过批处理文件删除文件

是否可以通过通配符而不是Windows资源管理器中的子字符串查找文件?

Windows 10资源管理器中是否可以通过svn状态对文件进行排序?

通过USB插入时,资源管理器中未显示SATA

找不到Git bash命令

在Visual Studio中是否可以重命名正在编辑的文件而在解决方案资源管理器中找不到它?

如何通过从文件资源管理器中选择一个文件来使用javaFX显示图像

Nunit 3.2.1在Visual Studio测试资源管理器中找不到的测试

在manage.windowsazure.com中找不到从资源管理器模板创建的VM

“纱线资源管理器”产生“系统找不到指定的批次标签 - 资源管理器”