我希望此脚本列出文件夹名称中包含“已删除”的所有文件夹,但如果它们位于名为“已完成”的文件夹中则不会。
例如:如果该文件夹在C:\temp
中,并且该文件夹位于C:\temp\random_folder_name
中,则列出该文件夹,但如果该文件夹位于C:\temp\done
dir /s "C:\temp" | findstr "\deleted"
简短的故事,排除所有名为“完成”的文件夹及其内容。
答案 0 :(得分:8)
你快到了。
Findstr / v返回所有不包含字符串的行
目录/广告只会显示目录(Atrribut =目录)
dir /s /ad "C:\temp" | findstr "\deleted" | findstr /v "\done"
答案 1 :(得分:1)
dir /s "C:\temp" | findstr "\deleted"|findstr /i /v "\temp\done\"
应符合法案
\temp
部分,如果您想省略任何已经“完成”作为路径目录的名称答案 2 :(得分:0)
在很多情况下:
dir /b /s /aa <path>
会做的伎俩。 / b表示较小的输出,/ s表示递归(子目录),/ aa表示只准备存档的文件。这通常是正常创建文件的情况 - 默认为开启!