0
votes

Existe-t-il une ligne de code pour changer tous les dossiers et sous-dossiers Extensions de fichier à l'aide de Powershell?

J'ai utilisé le code suivant pour changer d'une extension dans un dossier à la fois.

dir * .mkv | Rename-item -Newname {$ _. Nom -replace ".mkv", ". vlc"}

Ce que je veux, c'est pouvoir avoir une ligne de code qui sera

  • Changer tous les types d'extension de fichier vers une extension de fichier

  • Incluez des fichiers à l'intérieur de sous-dossiers

    Toute aide à ce sujet serait grandement appréciée, merci


2 commentaires

Voir Options Get-ChildItem. Utilisez ceci pour remplacer «dir».


@ user2864740 dir est un alias pour get-chillitem - il est logique d'utiliser des noms appropriés au lieu d'alias mais il n'y aura aucune différence efficace.


3 Réponses :


1
votes

Comme vous l'avez aussi étiqueté Batch-Fichier Code>:

for /r %a in (*.mkv) do @ECHO ren "%a" "%~na.vlc"


0 commentaires

4
votes

Utilisez -Recurse code> pour inclure des sous-dossiers. Utilisez basseName code> qui est le nom de fichier sans extension.
Lire la documentation pour Plus d'infos sur

Get-ChildItem -Recurse | Where-Object {$_.Extension -eq ".mkv"}
Get-ChildItem -Recurse | Where-Object {$_.Extension -in @(".mkv",".avi")}
Get-ChildItem -Recurse | Where-Object {$_.Extension -ne ".vlc"}


0 commentaires

1
votes

Je ne changerais pas toutes les extensions , utilisez simplement -include et présentez une liste xxx

si la sortie est ok, Supprimer le trailing -Quel -whatif


0 commentaires