2010-07-20 105 views
2

我试图使用复制项目将单个文件复制到使用PowerShell的远程计算机。如果该目录已经存在,它会正常工作,但如果它不存在,则会失败。我知道如果它是一个目录的目录,但是如果它是单个文件则失败。有没有办法让副本项目创建目标路径而不用做测试路径和新项目?在单个文件副本上复制项目创建目录

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

编辑:我只是决定去用xcopy。似乎更好地工作。

回答

-2

我也终于得到这个做的工作如下

Copy-Item "\\server1\Upgrade.exe" -Destination "\\chomputers1\c$\temp" -Force 
+3

这是否像你期望的工作?我会认为这会将Upgrade.exe复制到名为temp的文件中,而不是复制到临时文件夹中。我仍然不知道如何复制文件,如果需要创建目录。 – foson 2011-11-02 14:32:33

+1

已确认Foson的评论 – Cimplicity 2013-04-09 22:58:58

+3

确认Cimplicity对foson的评论发表评论。 – 2014-03-28 05:13:02

5

在PowerShell 2.0中,它仍然不可能得到复制,项目cmdlet创建目标文件夹,你需要像代码这样的:

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

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

如果使用-Resurse在拷贝项目,将创建在目标客源结构的所有子文件夹,但它不会产生实际的destinmation文件夹,甚至用-Force。

+0

这对我有用。谢谢! – 2014-07-16 17:43:50