Question
Déplacer les fichiers avec leur arboresc. (Résolu)
- big_cham
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 24
- Remerciements reçus 0
il y a 16 ans 3 mois #1349
par big_cham
Réponse de big_cham sur le sujet Re:Déplacer les fichiers listés dans un fichier
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/
Vous y comprenez quelque chose ?<br><br>Message édité par: big_cham, à: 10/12/07 13:00
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/
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.
- big_cham
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 24
- Remerciements reçus 0
il y a 16 ans 3 mois #1351
par big_cham
Réponse de big_cham sur le sujet Re:Déplacer les fichiers listés dans un fichier
Personne pour m'aider ?
Connexion ou Créer un compte pour participer à la conversation.
- Robin Lemesle
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 260
- Remerciements reçus 0
il y a 16 ans 3 mois #1352
par Robin Lemesle
Robin MVP PowerShell
Réponse de Robin Lemesle sur le sujet Re:Déplacer les fichiers listés dans un fichier
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] <string[]> [[-destination] <string>] [-container] [-recurse] [-force] [-include <string[]>] [-exclude <string[]>] [-filter <string>] [-passThru] [-credential <PSCredential>] [-whatIf] [-confirm] [<CommonParameters>]
-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 \"d:/taf\" -destination \"x:/taf\" -recurse -force -exclude *.docx[/code:1]
Tu peux aussi faire un \"-whatif\" pour verifier les actions engendrées.
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] <string[]> [[-destination] <string>] [-container] [-recurse] [-force] [-include <string[]>] [-exclude <string[]>] [-filter <string>] [-passThru] [-credential <PSCredential>] [-whatIf] [-confirm] [<CommonParameters>]
-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 \"d:/taf\" -destination \"x:/taf\" -recurse -force -exclude *.docx[/code:1]
Tu peux aussi faire un \"-whatif\" pour verifier les actions engendrées.
Robin MVP PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- big_cham
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 24
- Remerciements reçus 0
il y a 16 ans 3 mois #1353
par big_cham
Réponse de big_cham sur le sujet Re:Déplacer les fichiers listés dans un fichier
Si seulement ce petit bout de code, pouvait m'aider... mais que nenni !
Lorsque je lance ton code, il me copie toute l'arborescence.
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 !
Lorsque je lance ton code, il me copie toute l'arborescence.
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 !
Connexion ou Créer un compte pour participer à la conversation.
- Jacques Barathon
- Hors Ligne
- Administrateur
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 16 ans 3 mois #1358
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Déplacer les fichiers listés dans un fichier
big_cham écrit:
\"Normal\"... 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
Lorsque je lance ton code, il me copie toute l'arborescence.
\"Normal\"... 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.
- Jacques Barathon
- Hors Ligne
- Administrateur
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 16 ans 3 mois #1359
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Déplacer les fichiers listés dans un fichier
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 = \"$(get-content extensions.txt)\"
$cmd = \"robocopy 'c:\Documents and settings' d:\users /s /xf $xf\"
invoke-expression $cmd
[/code:1]
Janel
[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 = \"$(get-content extensions.txt)\"
$cmd = \"robocopy 'c:\Documents and settings' d:\users /s /xf $xf\"
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
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Déplacer les fichiers avec leur arboresc. (Résolu)