Lot de script pour lister les dossiers, mais exclure des dossiers spécifiques
Je veux que ce script pour lister tous les dossiers qui contient "supprimé" dans le nom du dossier, mais pas si elle est dans un dossier appelé "fait".
Pour exampel: liste de dossier si c'est dans C:\temp
et si c'est dans C:\temp\random_folder_name
mais non pas s'il est dans C:\temp\done
dir /s "C:\temp" | findstr "\deleted"
histoire courte, exclure tous les dossiers nommés "fait" et de leur contenu.
OriginalL'auteur Tomas | 2013-03-22
Vous devez vous connecter pour publier un commentaire.
Vous y êtes presque.
Findstr /v renvoie toutes les lignes qui ne contiennent pas la chaîne
dir /ad uniquement afficher les répertoires (Atrribut=Répertoire)
done*
ainsi, non seulement'done'
L' /ad élimine les noms de fichiers - mon erreur. Néanmoins, sans un
` after
\faire " ce sera le match\doneeverything
trop. Otoh, que, à l'aide de\done` will exempt only
fait les répertoires commec:\were\all\done\here
MAIS ne suffit pas à éliminer les répertoires que fin\done
commec:\were\not\all\done
. Pour ce faire, vous devez ajouter un supplément de|findstr /i /e /v "\done"
.pour exclure foldernames (utiliser uniquement les noms de fichiers) dir /a-d. (voir dir /?)
OriginalL'auteur Stephan
doit adapter le projet de loi
\temp
partie si vous voulez omettre n'importe quel nom qui a "fait" comme un répertoire sur le cheminil ne le travail parfait si le "fait" le dossier est en que de chemin d'accès spécifique. Je le veux pour exclure un dossier appelé "fait" n'importe où, dans ce cas C:\Temp il est. Désolé si je n'était pas claire sur ce point.
OriginalL'auteur Magoo
dans beaucoup de cas:
Fera l'affaire. /b pour les moins de commentaires, /s pour récursive (sous-répertoires) et /aa uniquement pour les fichiers prêts à être archivés. C'est généralement le cas pour la normale fichiers créés - la valeur par défaut est!
OriginalL'auteur SuperTurbo