Copy-item создать каталог на одной копии файла - PullRequest
2 голосов
/ 20 июля 2010

Я пытаюсь скопировать один файл с помощью copy-item на удаленный компьютер с помощью powershell. Он отлично работает, если каталог уже существует, но не работает, если его нет. Я знаю, что -force работает, если это каталог в каталог, но не работает, если это один файл. Есть ли способ получить copy-item для создания пути назначения без выполнения test-path и new-item?

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

Редактировать: я просто решил пойти с xcopy. Кажется, работает лучше.

Ответы [ 2 ]

5 голосов
/ 13 января 2012

В PowerShell 2.0 по-прежнему невозможно получить командлет Copy-Item для создания папки назначения, вам потребуется код, подобный следующему:

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

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

Если вы используете -Resurse в Copy-Item, он создаст все подпапки исходной структуры в месте назначения, но не создаст фактическую папку назначения, даже с -Force.

0 голосов
/ 28 сентября 2010

Я, в конце концов, заставил это работать, выполнив следующее

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