Question
Renommer et déplacer des fichiers pdf
- Gilles
- Auteur du sujet
- Hors Ligne
- Membre junior
- Messages : 21
- Remerciements reçus 0
je cherche à renommer et déplacer des fichiers .pdf qui se trouvent dans des répertoires le hic c'est que je ne connais pas le nombre de fichier il varie de jour en jour.
Mon problème le déplacement renommage fonctionne avec un fichier mais pas quand j'ai plus d'un fichier.
J'ai un fichier texte avec le nom de differents bureaux il aura donc plusieurs repertoires avec le nom de la ville du bureau et dedans trois répertoires comme dans le fichier joint.
La pièce jointe renommer.ps1 est absente ou indisponible
Message édité par: Palpelune34, à: 21/05/14 17:40<br><br>Message édité par: Palpelune34, à: 21/05/14 17:41
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6300
- Remerciements reçus 68
Désolé, inversion de post <br><br>Message édité par: Laurent Dardenne, à: 21/05/14 18:31
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6300
- Remerciements reçus 68
C'est à dire ? Dans ce cas un seul est copié ou aucun ?Mon problème le déplacement renommage fonctionne avec un fichier mais pas quand j'ai plus d'un fichier.
Tu n'as pas choisi la facilité avec ta construction
Dans ton script je pense que la construction suivante est erronée :
[code:1]
Move-Item -Path $sourcedo -Destination $destinationdo;[/code:1]
Une fois tous les fichiers copiés dans le même fichier, le répertoire source est vide de fichier .pdf
Essaie autour de ceci :
[code:1]$i=0;dir c:\temp\*.pdf|move-item -des {$script:i++; \"c:\temp\dest\$($_.name)$script:i\"} -whatif[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Gilles
- Auteur du sujet
- Hors Ligne
- Membre junior
- Messages : 21
- Remerciements reçus 0
j'avoue j'ai du mal à comprendre le code. on pourrait faire plus simple pour moi dans un premier temps.
J'ai un répertoire test par exemple avec à l'intérieur un nombre de fichiers pdf indéfini.
Je cherche à renommer l'ensemble des fichiers que je trouve à l'intérieur de ce répertoire test et à les copier dans un autre répertoire test1.
Comment je pourrais faire ?
Logiquement je dois juste utiliser la commande move-item.
Merci d'avance<br><br>Message édité par: Palpelune34, à: 22/05/14 11:54
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6300
- Remerciements reçus 68
M'est avis que tu dois déjà comprendre pourquoi ton code ne fonctionne pas. Ici il n'y a rien de complexe juste des principes de base de Powershell qui te sont, à priori, inconnu.on pourrait faire plus simple pour moi dans un premier temps.
Je peux décomposer le code si tu veux, mais moins j'utilise de calcul d'index de tableaux, mieux je me porte.
Palpelune34 écrit:
[code:1]J'ai un répertoire test par exemple avec à l'intérieur un nombre de fichiers pdf indéfini.
$path='Monpath'
#substitution de variable
dir \"$path\*.pdf\"
[/code:1]
Palpelune34 écrit:
| : Usage du pipeline entre le cmdlet Get-ChildItem et Move-ItemJe cherche à renommer l'ensemble des fichiers que je trouve à l'intérieur de ce répertoire test et à les copier dans un autre répertoire test1.
[code:1]
dir \"$path\*.pdf\"| Move-Item -destination {$script:i++; \"c:\temp\dest\$($_.name)$script:i\"} -whatif
[/code:1]
-destination : nom DU fichier à renommer et à déplacer, UN SEUL.
{$script:i++; \"PathDestination\$($_.Name)$script:i\"} : Code de construction du nouveau nom de fichier. Ce code est exécuté AVANT d'être lié au paramétre destination.
-whatif : simule le move-item, permet ici de vérifier le code de construction du nouveau nom de fichier
Palpelune34 écrit:
De mon côté, avec le code proposé, je répond à la question comment utiliser Move-Item dans TON cas.Comment je pourrais faire ?
Logiquement je dois juste utiliser la commande move-item.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Gilles
- Auteur du sujet
- Hors Ligne
- Membre junior
- Messages : 21
- Remerciements reçus 0
Du coup dans ton expression
{$script:i++; \"c:\temp\dest\$($_.name)$script:i\"}
le $_name est le résultat du pipe
mais le $script: est une sorte de fonction ?
Merci encore et bon week end
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Renommer et déplacer des fichiers pdf