2013-07-15 1 views
0

Je ne peux pas croire que c'est aussi difficile que je le trouve.powershell mettre à jour le fichier dans les sous-dossiers s'il existe déjà

J'ai un dossier sur un partage de serveur. Ce dossier contient un certain nombre de sous-dossiers qui peuvent ou non contenir un fichier que je veux remplacer par une dernière version.

Je l'ai fait beaucoup une recherche google & figurés la commande ci-dessous me obtenir ce que je veux:

Get-ChildItem \\server1\websites\website\xml -Name "description-15240.txt" -Recurse | Copy-Item ".\description-15240.txt" -Destination $_.fullname 

... mais il ne fonctionne pas.

Alors, je brise la commande en plusieurs parties & trouver le Get-ChildItem retourne uniquement le chemin du fichier de la racine du paramètre -Nom-à-dire

1 \ infini \ Description-15240.txt 68 \ infini \ Description-15240.txt 79 \ infini \ Description-15240.txt 80 \ infini \ plutôt que \ Description-15240.txt

server1 \ sites \ site \ xml \ 1 \ infini \ Description-15240.txt ce qui est ce que je suis après.

Le problème: Je ne peux pas obtenir le Get-ChildItem pour retourner le chemin complet | { $_.FullName } ne le fait pas ni ne | { $_.Parent }

Quelqu'un peut-il aider & me dire possiblly si le Copy-Item est susceptible de travailler ainsi que?

Un grand merci, N

Répondre

0

Name filtrer uniquement le nom du fichier, si vous voulez chemin complet du paramètre fichier à include.

Get-ChildItem \\server1\websites\website\xml -include "description-15240.txt" -Recurse | % { Copy-Item ".\description-15240.txt" -Destination $_.fullname } 
+0

C'est réglé, merci. – ninety

0

essayer

gci \\server1\websites\website\xml -Name "description-15240.txt" -recurse |%{ convert-path $_.pspath} 
paramètre
+0

Est-ce correct? Je reçois un 'Convert-Path: Impossible de lier l'argument au paramètre 'Path' car c'est une erreur null' quand je l'essaie. – ninety

Questions connexes