我正在尝试使用powershell将使用copy-item的单个文件复制到远程计算机。如果目录已经存在,它可以正常工作但如果不存在则会失败。我知道-force如果它是一个目录的目录,但如果它是一个文件则失败。有没有办法在不执行测试路径和新项目的情况下获取copy-item来创建目标路径?
copy-item "\\server1\Upgrade.exe" "\\computer1\c$\temp\" -Force
编辑:我刚决定使用xcopy。似乎工作得更好。
答案 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