Question [Résolu] Renommage de fichiers par lots

Plus d'informations
il y a 16 ans 5 jours #6382 par jojo
Bonjour,


J'essayes de renommer tous les fichiers *.log dans tous les sous-répertoires du repertoire c:\dossier_de_logs en majuscules:

[code:1]
$source = \"c:\dossier_de_logs\"
$logs = \"*.log\"

get-childitem -path $source -include $logs -recurse | rename-item -newname { $_.name -replace '[a-z]','[A-Z]'}[/code:1]

j'ai essayé plusieurs méthode mais rien

[code:1]
'*[a-z]*','*[A-Z]*'

'*[a-z].*','*[A-Z].*'[/code:1]

merci<br><br>Message édité par: Arnaud, à: 18/03/10 08:32

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

Plus d'informations
il y a 16 ans 5 jours #6383 par Laurent Dardenne
Salut,
avec une regex ce n'est pas la bonne approche.
Ici seul le premier paramètre est une regex le second est une chaîne de remplacement.
une solution :
[code:1]
$source = \&quot;c:\temp\&quot;
$logs = \&quot;t*.txt\&quot;

get-childitem -path $source -include $logs -recurse |
rename-item -newname { $_.name.ToUpper() } -whatif
[/code:1]

Avec une regex il faut je pense utiliser une capture :
[code:1]
\&quot;test majuscule fichier\&quot; -replace '([a-z]{1})','$1'|Select @{n=\&quot;New\&quot;;e={$_.toupper()}}
[/code:1]
Mais je n'ai pas trouvé de moyen de placer du code dans le second paramètre de la regex, il semble qu'il faille utiliser une instance de la classe MatchEvaluator .<br><br>Message édité par: Laurent Dardenne, à: 16/03/10 21:08

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 4 jours #6394 par jojo
Réponse de jojo sur le sujet Re:renommage de fichier en majuscule
et ça marche !! merci Laurent :))

dans mes premiers essaies j'avais fait :

[code:1]... | rename-item -newname { $_.toupper() }[/code:1]

j'avais pas saisi la possibilité de chaîner les propriétés et les méthode comme vous avez fait:

[code:1]... | rename-item -newname { $_.name.toupper() }[/code:1]

une autre question: vous pouvez m'expliquer la notion de \&quot;capture\&quot; j'ai beau chercher mais j'ai pas trouver..

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

Plus d'informations
il y a 16 ans 3 jours #6395 par Arnaud Petitjean
Salut !

Pour ce qui est de discuter des captures, merci d'ouvrir un nouveau fil de discussion.

Comme ça, ce sera plus facile pour tout le monde de suivre la conversation.

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

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