La suppression d'éléments via la ligne de commande est assez simple.
del /options filename.extension
Supposons maintenant que je souhaite supprimer tous les fichiers qui ne se terminent pas par .jpg dans un dossier, comment dois-je procéder.
Le truc, c'est que j'ai un logiciel qui convertit toutes les images spécifiées en .jpg, mais il laisse les originaux, dont je n'ai plus besoin.
Il serait beaucoup plus efficace d'exécuter une seule instruction que de faire plusieurs instructions pour chaque type de fichier différent.
windows
command-line
KdgDev
la source
la source
/s
à chaque ligne pour inclure récursivement les fichiers dans les sous-répertoires.C'est en fait assez simple.
Vous devrez
for
parcourir les fichiers et rechercher simplement l'extension:devrait faire l'affaire (code ici ).
la source
Powershell à la rescousse
A l'époque de Windows 7/8 c'est le successeur de la bonne vieille ligne de commande
Del
est un alias pourRemove-Item
. Il a plusieurs options comme recurse, include, exclude et filter (utilisez ceci pour RegEx)Vous devez ajouter
\*
pour inclure des fichiers dans un dossier donnéla source
PowerShell.exe -Command "&{Remove-Item C:\MyFolder\* -Exclude '*.jpg'}"
Je sais que cela ne répond pas directement à votre question, mais avez-vous examiné les options de votre convertisseur pour voir si:
ou
la source
Je cherchais un moyen de trouver tous les fichiers qui n'avaient PAS l'extension ".mp3" dans un répertoire TREE sur Windows 7 (volume NTFS) contenant peut-être 20 000 fichiers dans plusieurs centaines de répertoires de différentes profondeurs ... donc après un peu de angoisse, j'ai utilisé:
cela répertorie les fichiers qui ne correspondent pas au .mp3 après avoir supprimé tout ce qui concerne la sortie de la commande DIR ... 99% fonctionne ... sauf si le fichier qui ne correspond pas est nommé l'un des mots clés dans la sortie DIR standard - il y a peut-être un moyen de rendre le rapport DIR moins d'informations d'en-tête / récapitulatif - mais je n'ai pas pris la peine car cela arrivait la plupart du temps.
la source
/b
drapeau de ladir
commande.dir /b
répertorie les noms de fichiers et les extensions dans le répertoire actuel uniquement,dir /s /b
répertorie les noms complets de tous les fichiers dans le sous-répertoire actuel et dans tous les sous-répertoires. Tuyau à lafind /v
place d'unefor
boucle est une belle touche dont je dois me souvenir, mais je ne pense pas que cela fonctionnedel
.Une autre façon de supprimer tous les fichiers correspondant à un nom de fichier est indiquée ci-dessous. La liste des boucles for contient tous les fichiers et if NOT correspond par nom de fichier (sans nom de répertoire).
la source