单个文件副本上的复制项目创建目录

时间:2010-07-20 16:27:30

标签: powershell-v2.0

我正在尝试使用powershell将使用copy-item的单个文件复制到远程计算机。如果目录已经存在,它可以正常工作但如果不存在则会失败。我知道-force如果它是一个目录的目录,但如果它是一个文件则失败。有没有办法在不执行测试路径和新项目的情况下获取copy-item来创建目标路径?

copy-item "\\server1\Upgrade.exe" "\\computer1\c$\temp\" -Force

编辑:我刚决定使用xcopy。似乎工作得更好。

3 个答案:

答案 0 :(得分:5)

在PowerShell 2.0中,仍然无法使用Copy-Item cmdlet创建目标文件夹,您需要这样的代码:

$destinationFolder = "C:\My Stuff\Subdir"

if (!(Test-Path -path $destinationFolder)) {New-Item $destinationFolder -Type Directory}
Copy-Item "\\server1\Upgrade.exe" -Destination $destinationFolder

如果在Copy-Item中使用-Resurse,它将在目标中创建源结构的所有子文件夹,但即使使用-Force也不会创建实际的destinmation文件夹。

答案 1 :(得分:0)

您可以在不使用-Destination或-Force cmdlet的情况下使用Copy-Item,但可以使用完整路径作为目的地。

答案 2 :(得分:-2)

我最终通过以下

来实现这一目标
Copy-Item "\\server1\Upgrade.exe" -Destination "\\chomputers1\c$\temp" -Force