如何用findstr递归搜索并排除以.开头的文件夹(单行命令)
单行解决方案
直接使用以下命令即可实现递归搜索所有.py文件中的valid字符串,同时排除所有以.开头的文件夹:
for /r %f in (*.py) do @echo "%f" | findstr /v /r "\\\.[^\\]*\\" >nul && findstr /C:"valid" /N "%f"
命令说明
for /r %f in (*.py):递归遍历当前目录下所有.py文件,将每个文件路径存入变量%f@echo "%f" | findstr /v /r "\\\.[^\\]*\\" >nul:检查文件路径,过滤掉包含\.[文件夹名]\格式的路径(即排除所有以.开头的子文件夹),>nul用于屏蔽该步骤的冗余输出&& findstr /C:"valid" /N "%f":仅当文件路径合法时,才在该文件内搜索valid字符串并显示对应行号
若在批处理脚本中使用该命令,需将变量
%f改为%%f
内容的提问来源于stack exchange,提问作者Barzi2001
相关产品推荐
相关产品推荐

