我试图实现一个文件夹复制方法,在循环中调用FindFirstFile和FindNextFile ,可以在任何子文件夹上recursion调用自身。
为了防止一个明显的无限循环,我需要确保目标文件夹不是源文件夹的子文件夹。 问题是如何做到这一点? 我的想法是将DOSpath转换成设备特定的path(需要了解如何),但似乎更多。
所以我正在testing这种情况:
我将“ My Documents文件夹设置为redirect到\ServerHomeUserADocuments的networking共享,并将该文件夹也映射到客户端计算机上的驱动器R: . 这意味着所有以下文件夹:
如何debuggingYAFFS?
在Windows上是否有Mac OS-X文件系统软件包的对应物?
在Linux中的特定块上打开文件
Windows:使用File.listRoots显示映射的networking驱动器
"R:DocumentsSubfolder1" "\ServerHomeUserADocumentsSubfolder1" "C:UsersUserADocumentsSubfolder1"
技术上指向相同的物理位置,即“ My Documents的子文件夹。
问题是如何可靠地知道这一点?
NTFS稀疏文件数据运行($ UsnJrnl)
Ext4允许的最大子目录数是多less?
文件系统testing套件
Linux上的只读文件系统基准testing软件
即使文件不可读,Java – file.length()也会返回
使用GetFile@R_176_4045@ionByHandle检索目标目录和每个可能的匹配的卷序列号和文件索引。 如果序列号和文件索引都相同,则它们是相同的目录。
请注意,您将需要使用CreateFile中的FILE_FLAG_BACKUP_SEMANTICS标志来打开目录的句柄。 (您不需要备份权限即可)。
克隆卷可能具有相同的序列号(我不确定Windows是否强制序列号更改),因此向用户提供禁用此检查的选项可能是明智的做法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。