我对批处理文件非常陌生。我正在尝试编写一个脚本来查找此文件:
<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%