Je souhaite analyser un répertoire (il n'y a pas de sous-programmes) et supprimer tout fichier portant l'extension .avi
. J'ai essayé cette syntaxe, mais aucune erreur n'a été générée et aucun fichier n'a été supprimé. C'est le code que j'ai essayé
get-childitem 'C:\Users\ramrod\Desktop\Firefly' -include *.avi | foreach ($_) {remove-item $_.fullname}
Que faut-il modifier pour supprimer tous les fichiers .avi
du dossier?
Utilisez del *.<extension>
ou l'un de ses alias (comme rm
, si vous êtes plus habitué à bash).
Donc, ce serait del *.avi
pour supprimer tous les fichiers se terminant par .avi
dans le répertoire de travail en cours.
Utilisez del <directory>\*.<extension>
pour supprimer des fichiers dans d'autres répertoires.
En supposant que la méthode préférée pour ouvrir une instance de Powershell dans le répertoire, une version générique serait la suivante:
Get-ChildItem *.avi | foreach { Remove-Item -Path $_.FullName }
Pour une version spécifique à un répertoire:
Get-ChildItem -Path 'C:\Users\ramrod\Desktop\Firefly' *.avi | foreach { Remove-Item -Path $_.FullName }
Ajoutez -Recurse
à Get-ChildItem
pour affecter tous les dossiers contenus.
Exemple:
Get-ChildItem *.avi -Recurse | foreach { Remove-Item -Path $_.FullName }
Cela a finalement réussi pour moi - essayé tout ce qui précède et nada.
get-childitem "<drive>:\<folder>" -recurse -force -include *.<ext> | remove-item -force
deux personnes ne sont pas nécessaires, mais c’est ce qui fonctionne et c’est ce que je tiens.
Supposons qu'il y ait plusieurs fichiers texte dans le répertoire actuel.dir * -include *.txt
& dir *.txt
fonctionnent comme prévu, mais dir -include *.txt
ne donne rien. La raison est bien expliquée sur Stack Overflow .
Commande corrigée:dir 'C:\Users\ramrod\Desktop\Firefly\*.avi' | foreach {del $_}