2010-07-20 3 views
2

J'essaie de copier un seul fichier en utilisant un élément de copie sur un ordinateur distant en utilisant PowerShell. Cela fonctionne bien si le répertoire existe déjà mais échoue si ce n'est pas le cas. Je sais que -force fonctionne s'il s'agit d'un répertoire dans un répertoire mais échoue s'il s'agit d'un seul fichier. Est-il possible d'obtenir copy-item pour créer le chemin de destination sans faire de test-path et new-item?Copier-créer un répertoire sur une copie de fichier unique

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

Modifier: J'ai juste décidé d'aller avec xcopy. Semble mieux fonctionner.

Répondre

-2

J'ai fini par obtenir ce travail en procédant comme suit

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

Est-ce que cela fonctionne comme prévu? Je pense que cela copierait le Upgrade.exe dans un fichier nommé temp, pas dans le dossier temp. Je ne sais toujours pas comment copier un fichier, en créant le répertoire si nécessaire. – foson

+1

Confirmé le commentaire de Foson – Cimplicity

+3

Confirmé le commentaire de Cimplicity sur le commentaire de foson. –

5

Dans PowerShell 2.0, il est toujours pas possible d'obtenir l'applet de commande Copy-Item pour créer le dossier de destination, vous aurez besoin d'un code comme ceci:

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

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

Si vous utilisez -Resurse dans le Copy-Item pour créer tous les sous-dossiers de la structure source dans la destination, mais il ne sera pas créer le dossier destinmation réel, même avec -Force.

+0

Cela a fonctionné pour moi. Merci! –

Questions connexes