嗨我有一个理想情况下应该复制项目并将其粘贴到目标文件夹(包括其所有子文件夹)的脚本。但是我无法将它复制到子文件夹中。
以下是代码:
Copy-Item "\\postowl\PEC Group\HR\Performance snapshot\Performance Snapshot Macro.xlsm" -Destination "\\postowl\PEC Group\HR\Performance snapshot\2017-2018" -Recurse -Force
请帮忙!
答案 0 :(得分:0)
Recurse
将子文件夹和项目从源复制到目标,保留目录结构。它不会在目的地中递归并在目的地中制作多个副本。您可以使用ForEach-Object
输出中的Get-ChildItem
循环来检索要复制到的所有文件夹。
Get-ChildItem "\\postowl\PEC Group\HR\Performance snapshot\2017-2018" -Directory -Recurse | % {
Copy-Item "\\postowl\PEC Group\HR\Performance snapshot\Performance Snapshot Macro.xlsm" -Destination $_.fullname -Force }
答案 1 :(得分:0)
我观察的两件事。
1)您告诉您正在复制包含其子文件夹的项目,但在源中您提到了一个带扩展名的文件名。不确定你的情况下是否是文件夹名称。
2)我发现在目的地你没有进入最后一级文件夹。
所以把它放进去检查:
Copy-Item "\\postowl\PEC Group\HR\Performance snapshot\*.xlsm" -Destination "\\postowl\PEC Group\HR\Performance snapshot\2017-2018\" -Recurse -Force
注意:如果是特定文件,则可以删除通配符,因为这将复制扩展名为.xlsm的所有文件。我保留了它,因为我假设你在该文件夹下只有一个文件。
请参阅文档和PS的问题: Copy-Item Nature & Issue