Question Déplacer les fichiers avec leur arboresc. (Résolu)

Plus d'informations
il y a 16 ans 3 mois #1349 par big_cham
Etrange... accrochez vous :

Je vais essayer de faire simple.

J'ai 3 fichiers EXE qui sont à déplacer.
Le 1er se trouve à la racine d:/taf/www.exe
Le second se trouve ici : d:/taf/scripts/xxx.exe
Le troisième se trouve d:/taf/scripts/move/yyy.exe

Le déplacement de ces fichiers se fait vers :
x:/taf/scripts/move/ :S

Vous y comprenez quelque chose ?<br><br>Message édité par: big_cham, à: 10/12/07 13:00

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 3 mois #1351 par big_cham
Personne pour m'aider ?:unsure:

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 3 mois #1352 par Robin Lemesle
Bonjour big_cham,
En prenant un peu de recul sur ton problème, est-ce que la commande copy-item ne suffirait pas à ton affaire:

SYNTAXE
Copy-Item [-path] &lt;string[]&gt; [[-destination] &lt;string&gt;] [-container] [-recurse] [-force] [-include &lt;string[]&gt;] [-exclude &lt;string[]&gt;] [-filter &lt;string&gt;] [-passThru] [-credential &lt;PSCredential&gt;] [-whatIf] [-confirm] [&lt;CommonParameters&gt;]


-recurse,Spécifie une copie récursive.

-force, Permet à l'applet de commande de remplacer des restrictions telles que la modification des noms de fichiers existants, en évitant que la sécurité soit compromise.

-exclude, Omet les éléments spécifiés. Les caractères génériques sont autorisés.


cela donne par exemple
:
[code:1]
Copy-Item -path \&quot;d:/taf\&quot; -destination \&quot;x:/taf\&quot; -recurse -force -exclude *.docx[/code:1]

Tu peux aussi faire un \&quot;-whatif\&quot; pour verifier les actions engendrées.

Robin MVP PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 3 mois #1353 par big_cham
Si seulement ce petit bout de code, pouvait m'aider... mais que nenni !

Lorsque je lance ton code, il me copie toute l'arborescence. :ohmy:

Lorsque je remplace *.docx par *.exe, il me copie les exe quand même.
Si je remplace exclude par include, il me copie tous les fichiers aussi...

C'est à rien n'y comprendre !:blink:

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 3 mois #1358 par Jacques Barathon
big_cham écrit:

Lorsque je lance ton code, il me copie toute l'arborescence. :ohmy:


\&quot;Normal\&quot;... Les paramètres -exclude et -include ne marchent que si tu passes explicitement des fichiers comme source de la copie, par exemple:

copy-item 'd:/mes images/*.*' e:/backup -exclude *.tif

La commande ci-dessus va bien copier toutes mes images sauf celles qui ont une extension TIF.

Malheureusement, ça ne marche pas si tu veux parcourir une arborescence avec -recurse. Je ne sais pas si le bug est référencé chez MS, en tout cas ça ne marche pas non plus avec la v2 CTP.

Janel<br><br>Message édité par: janel, à: 15/12/07 08:42

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 3 mois #1359 par Jacques Barathon
Pour répondre à ton besoin d'exclusion d'extensions dans une copie qui préserve l'arborescence de la source, je crois vraiment que robocopy sera plus simple à utiliser que des trifouillages avec get-childitem, new-item et copy-item (sans doute possibles mais c'est une partie de PowerShell qui n'est pas aussi intuitive et efficace que les autres commandelettes à mon avis).

[code:1]robocopy 'c:\documents and settings' d:\users /s /xf *.mp3 *.wmv *.avi[/code:1]
La commande ci-dessus va copier tous les fichiers utilisateurs de C: vers D: sauf les fichiers MP3, WMV et AVI.

Pour récupérer la liste des extensions interdites à partir d'un fichier extensions.txt:

[code:1]
$ext = \&quot;$(get-content extensions.txt)\&quot;
$cmd = \&quot;robocopy 'c:\Documents and settings' d:\users /s /xf $xf\&quot;
invoke-expression $cmd
[/code:1]
Janel

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.090 secondes
Propulsé par Kunena