Bonjour,
Je m'adresse à vous aujourd'hui car je suis un peu perdu.
Un de mes clients m'a demandé de lui pondre un script Powershell afin de copier des fichiers d'un dossier A vers un serveur B.
Sur ce serveur B, les fichiers sont compressés avec 7zip puis envoyés vers un serveur C.
Ceci a été implémenté sans souci.
Le problème maintenant, c'est que mon client, un peu parano veut que le script de copie compare le serveur A et le serveur C afin de vérifier quels sont les fichiers qui n'ont pas encore été copiés.
Les fichiers compressés garde le même nom mais avec une extension .7z.
En gros, je dois adapter mon script powershell pour que ce dernier compare le BaseName des fichiers sur le serveur A avec ceux du serveur C.
Ensuite il doit copier tous les fichiers dont le basename n'existe pas sur le serveur C (mais sur le serveur A) vers le serveur B pour compression.
En gros j'ai:
Serveur A:
fichier1.bkp
fichier2.bkp
fichier3.bkp
fichier4.bkp
Serveur C:
fichier1.7z
fichier2.7z
Le script devrait alors copier les fichiers fichier3.bkp et fichier4.bkp vers mon serveur B.
J'ai pondu le script suivant, mais celui-ci ne me copie rien du tout. Une âme charitable pourrait y jeter un oeil et me dire ce que j'ai foiré?
Je vous remercie par avance de votre aide et vous souhaite une excellente journée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $source = "c:\test" $sourcelist = Get-ChildItem $source $destination = "d:\test" $final = "h:\test" $filename = $file.basename foreach ($file in $sourcelist){ $result = test-path -path "$destination\*" -include $filename if ($result -like "False"){ Copy-Item "$source\$file" -Destination "$final" } }![]()
Partager