Windows下复制含挂载点的文件夹层级时排除挂载驱动器内容的实现方法
Windows下复制含挂载点的文件夹层级时排除挂载驱动器内容的实现方法
我完全懂你碰到的麻烦——要复制带有挂载点的整个文件夹结构,但绝对不想把挂载驱动器里的实际内容也一并复制,之前用xcopy尝试根本行不通,还因为路径过长弹出“内存不足”的错误,确实头疼。
先说说为什么xcopy不行:你用的xcopy I:\MP_T7_Drives B:\EDNA-I\MP_T7_Drives /T /E命令,/T /E会递归创建所有子文件夹,包括挂载点里面的完整层级,这就导致它试图遍历挂载的T7 SSD里的内容,自然会触发路径过长的报错,也完全不符合你只保留挂载点本身的需求。
那正确的解决方案应该用Robocopy,它专门有处理挂载点(junction points)的参数,能精准实现你的需求。试试这个命令:
robocopy I:\MP_T7_Drives B:\EDNA-I\MP_T7_Drives /E /XJ /COPYALL
我给你拆解下这些参数的作用:
/E:复制所有子文件夹,包括空文件夹,保证完整的层级结构/XJ:核心参数!它会排除 junction points(也就是你的挂载点)的内容,只复制挂载点文件夹本身,不会进入挂载的驱动器里遍历内容/COPYALL:复制所有文件和文件夹的属性,包括挂载点的特殊属性,这样目标路径里的MP_T7_01_Drive会和源一样保持挂载点的属性(如果不需要保留挂载点属性,换成/COPY:DAT只复制文件数据、属性和时间戳也可以)
运行这个命令后,你会发现目标路径下的MP_T7_01_Drive只是一个挂载点(或者空的文件夹结构,取决于你是否保留挂载属性),不会包含挂载的T7 SSD里的任何实际内容,完美解决了你之前的问题。
备注:内容来源于stack exchange,提问作者TheAncient
相关产品推荐
相关产品推荐

