【问题标题】:Two Files with the Same Name Under the Same Folder [closed]同一个文件夹下的两个同名文件[关闭]
【发布时间】:2012-11-12 02:01:21
【问题描述】:

我在同一个文件夹下有两个同名的文件。控制台和窗口资源管理器的文件名不同。

我使用我的软件从其他地方复制了一个文件并将其重命名为 dxr.jpg。该文件确实被复制到 Downloads 文件夹,但其名称仍为 Penguins.jpg。该文件的名称在 cmd 控制台中显示为 dxr.jpg,但在窗口资源管理器中显示为 Penguins.jpg。然后,我将其复制并粘贴到 Downloads 的同一文件夹下。然后,将其重命名为 Penguins.jpg。工作!两个同名文件。

使用此功能:

BOOL WINAPI CopyFile(
  _In_  LPCTSTR lpExistingFileName,
  _In_  LPCTSTR lpNewFileName,
  _In_  BOOL bFailIfExists
);

注意:这两个文件的名称在窗口资源管理器中显示相同,但​​在 cmd 控制台中,它们是不同的。

我重新启动了计算机。情况没有改变。任何人都可以告诉我原因。我正在使用 Windows 7 Professional 64 位。

【问题讨论】:

  • 这不是一个真正的编程问题,因此不适合这个网站。
  • “我用我的软件复制了一个文件”——什么软件?你有你用的代码吗?
  • @psych 看起来旧的 MFC 复制功能与新操作系统不兼容。
  • 下载文件夹是一个虚拟 shell 文件夹。它显示了您自己的下载文件夹和 c:\users\public\download 文件夹的组合。所以拥有两个同名文件并非不可能。
  • 可以告诉资源管理器显示名称与 cmd 不同的文件。这就是 Windows 在英语以外的其他语言中的工作方式。该文件名为“Calculator.lnk”,但在德语中显示为“Rechner”。

标签: windows windows-7 windows-7-x64


【解决方案1】:

虚拟外壳文件夹与其他文件夹有点不同。

【讨论】:

    【解决方案2】:

    MFC CopyFile() 对从 Libraries\Pictures 等虚拟 shell 文件夹进行复制有一个小问题。 .Net 功能可能会起作用。

    【讨论】:

    • CopyFile 不是 MFC 的一部分。它是一个 Win32 API 函数。它工作得很好。
    • 如果我从示例图片中复制,名称不会改变。控制台和窗口资源管理器的文件名不同
    • 从其他位置复制就可以了
    • 我不怀疑你。但是CopyFile 有效。它的行为符合设计。
    猜你喜欢
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多