我正在查看FastCopy的代码,我想在其中添加一些功能。
在内部,似乎FastCopy在路径之前以\\?\
存储其路径。例如。 \\?\c:\Program Files\Adobe
。这些路径直接传递给Windows API函数,如DeleteFile
,RemoveDirectory
等,因此Windows似乎可以理解格式。
但是这些额外字符意味着什么以及为什么FastCopy会以这种方式存储它们?
答案 0 :(得分:3)
与FastCopy最相关的事情是,它允许您处理超过〜256个字符的文件名。
如果内存服务,它还会阻止Windows解析文件名,寻找\\server\file
之类的内容来访问共享文件(尽管你仍然可以使用\\?\UNC\whatever
),但这可能不是真正的意图/相关的。
答案 1 :(得分:2)
您指的是Long UNC路径:https://en.wikipedia.org/wiki/Path_%28computing%29希望有所帮助。
答案 2 :(得分:2)
一般来说,这意味着它支持长文件名 - 长度约为32K的名称。
它也可以用于指定UNC路径,例如\\?\ UNC \服务器\共享。
如果没有这种支持,Fastcopy将无法正常访问所有文件。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
的详细信息