Batch script to list folders but exclude specific folders

烂漫一生 提交于 2019-12-06 03:15:09

问题


I want this script to list all folders that contains "deleted" in the folder name but not if they is in a folder called "done".

For exampel: list the folder if it's in C:\temp and if it's in C:\temp\random_folder_name but not not if it's in C:\temp\done

dir /s "C:\temp" | findstr "\deleted"

short story, exclude all folders named "done" and their content.


回答1:


You are almost there.

Findstr /v returns all lines, that do not contain the string

dir /ad will only show directories (Atrribut=Directory)

dir /s /ad "C:\temp" | findstr "\deleted" | findstr /v "\done"



回答2:


dir /s "C:\temp" | findstr "\deleted"|findstr /i /v "\temp\done\"

should fit the bill

  • or remove the \temp part if you want to omit any name which has 'done' as a directory on the path



回答3:


in lots of cases:

dir /b /s /aa <path>

Will do the trick. /b for less verbose output, /s for recursive (sub directories) and /aa for only files ready to be archived. This is usually the case for normal created files - it defaults to on!



来源:https://stackoverflow.com/questions/15568541/batch-script-to-list-folders-but-exclude-specific-folders

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!