Copy-Item无目标目录

时间:2014-04-16 21:59:35

标签: powershell command-line scripting idempotent

假设你有这个文件夹

foo

您可以在Bash中运行此命令

cp -r --no-target-directory foo bar

它会创建

foo
bar # same contents as foo

然后您可以在不更改结果的情况下重新运行命令。你怎么能用PowerShell做到这一点?

2 个答案:

答案 0 :(得分:0)

这样就可以了。它将创建bar文件夹,其中包含foo包含的所有内容。

copy-item .\foo .\bar -recurse -force

答案 1 :(得分:0)

所以问题在于

cp -r -fo foo bar

仅在bar不存在且

时才有效
cp -r -fo foo/* bar

仅在bar存在时才有效。因此,要解决此问题,您需要在执行任何操作之前确保bar存在

md -f bar
cp -r -fo foo/* bar