首页 > 解决方案 > 在 CMD 搜索中排除 Windows 文件夹

问题描述

我对批处理文件相当陌生,但这是我的批处理文件,用于显示 Jpeg、Mp3、Mp4 等的路径。

@echo off
setlocal
cd /d C:\
Echo
echo Files Paths :
dir /b *.mp3 /s
dir /b *.mp4 /s
dir /b *.jpg /s
endlocal
pause

1.) 无论如何,我可以从搜索中排除 Microsoft 和 Windows(壁纸、图标、声音等)文件夹吗?

2.) 如何将结果保存在此输出文件(已创建)C:\output.txt

谢谢!

标签: windowsbatch-file

解决方案


findstr对于命令来说,这是一项相当容易的任务:

dir /S /B /A:-D *.mp3 *.mp4 *.jpg | findstr /V /I /C:"\\Microsoft\\" /C:"\\Windows\\" > "C:\output.txt"

\\表示一个文字,\以确保仅排除全名与预定义名称匹配的目录。由于findstr使用\作为转义字符\\是必要的。

如您所见,没有必要使用多个dir命令。过滤器选项/A:-D排除任何要返回的目录,即使它们与给定模式之一匹配。

返回的数据使用重定向写入文件。要附加到文件而不是覆盖它,请替换>>>.


推荐阅读