我希望此脚本列出文件夹名称中包含“已删除”的所有文件夹,但如果它们位于名为“已完成”的文件夹中,则不会。批处理脚本列出文件夹但排除特定文件夹
对于exampel:列出文件夹,如果它在C:\temp
,如果它在C:\temp\random_folder_name
但不是没有,如果它在C:\temp\done
dir /s "C:\temp" | findstr "\deleted"
短篇小说,排除所有文件夹命名为“完成”和它们的内容。
我希望此脚本列出文件夹名称中包含“已删除”的所有文件夹,但如果它们位于名为“已完成”的文件夹中,则不会。批处理脚本列出文件夹但排除特定文件夹
对于exampel:列出文件夹,如果它在C:\temp
,如果它在C:\temp\random_folder_name
但不是没有,如果它在C:\temp\done
dir /s "C:\temp" | findstr "\deleted"
短篇小说,排除所有文件夹命名为“完成”和它们的内容。
上你几乎没有任何名称中删除\temp
部分。
Findstr工具/ V返回所有行,不包含在很多案件的串
DIR /广告将只显示目录(Atrribut =目录)
dir /s /ad "C:\temp" | findstr "\deleted" | findstr /v "\done"
:
dir /b /s /aa <path>
会做的伎俩。/b表示较少的详细输出,/ s表示递归(子目录),/ a表示仅用于存档的文件。这通常是正常创建的文件的情况 - 它默认为打开!
啊 - 但是这样会排除名为'done *'的目录和文件,而不仅仅是''done'' – Magoo 2013-03-22 11:09:19
/ad消除了文件名 - 我的错误。尽管如此,如果在'\ done'之后没有'\',这也会匹配'\ doneeverything'。 OTOH,使用'\ done \'将只豁免'done'目录,例如'c:\ are \ all \ done \ here'但是不会消除像'c:\ are \ not \ all \ done'。要做到这一点,你必须添加额外的'| findstr/i/e/v“\ done”'。 – Magoo 2013-03-22 11:45:42
排除文件夹名称(仅使用文件名)dir/a-d。 (请参阅dir /?) – Stephan 2013-03-22 12:27:54