Search 在Windows目录中搜索文件,仅';n';从命令行开始的深度级别

Search 在Windows目录中搜索文件,仅';n';从命令行开始的深度级别,search,windows-7,directory-structure,Search,Windows 7,Directory Structure,在Windows7中,是否可以在目录中搜索文件或模式,但只搜索“n”级 我无法安装任何外部工具 Dir/s命令似乎适用于所有可能存在的级别。我想将其限制为“n”(3或4)级别,但找不到这样做的选项。不幸的是,没有。默认命令行选项不包括此选项 是的。我编写了一个批处理文件来完成这项工作: @echo off setlocal set currentLevel=0 set maxLevel=%2 if not defined maxLevel set maxLevel=1 :procFolder

在Windows7中,是否可以在目录中搜索文件或模式,但只搜索“n”级

我无法安装任何外部工具


Dir/s命令似乎适用于所有可能存在的级别。我想将其限制为“n”(3或4)级别,但找不到这样做的选项。

不幸的是,没有。默认命令行选项不包括此选项

是的。我编写了一个批处理文件来完成这项工作:

@echo off
setlocal
set currentLevel=0
set maxLevel=%2
if not defined maxLevel set maxLevel=1

:procFolder
pushd %1 2>nul || exit /b
if %currentLevel% lss %maxLevel% (
  for /d %%F in (*) do (
    echo %%~fF
    set /a currentLevel+=1
    call :procFolder "%%F"
    set /a currentLevel-=1
  )
)
popd
这将列出任意深度的目录

用法:list.bat“搜索字符串”[数字]


这将搜索深度为[number]的字符串。(这包括当前级别,因此2将搜索当前目录和更深一级)

谢谢。有没有其他命令可以与此结合使用来创建一个.bat文件,让我可以这样做?也许
tree
grep
可以帮助我。但是,默认情况下,grep在windows系统上不可用。您好,我尝试了“list.bat java 3”和“list.bat.java 3”,但没有得到任何输出,脚本退出-它返回到命令提示符。我有级别为0、1和2的.java文件(以及更高级别的文件,但使用2或3进行测试)刚刚意识到脚本正在遍历目录,我应该添加逻辑来检查具有特定扩展名的文件或包含给定stringWith powershell的文件名,Get ChildItem-路径C:\Windows\Logs***--添加您想要深入的任意级别--请参阅