在部分已知的文件夹路径下查找文件

在部分已知的文件夹路径下查找文件

我对批处理文件非常陌生。我正在尝试编写一个脚本来查找此文件:

<A>\Org\App\<B>\<C>\SQL Scripts\Miscellaneous\CRErrorFinder.exe

其中 A 是任意驱动器,B 是文件夹名称,C 是应从已知数字开头的文件夹名称(例如:85)。

A 的示例值: C :

B 的示例值:TEST

C 的示例值:850-0

我的尝试:我可以循环遍历驱动器来获取我的根搜索文件夹(例如 C:\Org\App\ 或 D:\Org\App\ ),然后对 B 和 C 使用另外两个循环。但是有没有更短的方法来实现我在这里所做的事情?

答案1

要在第一次找到后停止,请尝试以下操作:

@Echo off
Set "Drives=A: C:" 
For %%A in (%Drives%
  ) Do For /D in %%B ("%%~A\Org\App\*"
    ) Do for /D in %%C in ("%%~fB\85*"
      ) Do if exist "%%~fC\SQL Scripts\Miscellaneous\CRErrorFinder.exe" (
           Set "Find=%%~fC\SQL Scripts\Miscellaneous\CRErrorFinder.exe"
        goto :Found
      )
Echo nothing found
pause
goto :Eof
:Found
Echo Found file:%Find%

相关内容