我需要将所有*.doc
文件(但不是名称匹配的文件夹*.doc
)从网络文件夹\\server\source
(包括所有嵌套文件夹中的文件)复制到本地文件夹C:\destination
,而不保留嵌套文件夹层次结构(即所有文件都应该直接进入C:\destination
并且不应该嵌套文件夹创建于C:\destination
)。如果 的不同子文件夹中存在多个同名文件 \\server\source
,则只应复制第一个且永不覆盖 - 应跳过以后发现的所有冲突文件(可能有很多这样的情况,跳过的文件不应通过网络传输,否则会花费太多时间)。这是我在 PowerShell 中实现它的尝试:
cp \\server\source\* -Recurse -Include *.doc -Container:$false -Destination C:\destination
这个命令至少有两个问题:
- 它也会复制名称匹配的文件夹
*.doc
。 - 如果名称冲突,以后找到的任何文件都会通过网络传输并覆盖前一个文件。
你能建议如何解决这些问题吗?
使用copy
, xcopy
,或robocopy
,的实现也是受欢迎的。
本地操作系统为Windows 8,文件系统为 NTFS。cscript
*.bat
*.cmd