在多个文件夹中查找具有相同名称的文件,可以是任何文件

时间:2018-08-11 16:48:45

标签: batch-file

好的,我有代码

cd ..
cd servers

for /d %%i in (*) do (
    cd logs
    findstr /R 76561*  "*_MA_output_log.txt" >> "..\..\..\tools\pre-results.txt"
)

但是,此代码似乎无法按照我想要的方式工作-也就是说,它无法在日志文件夹中找到该文件。目录的结构非常简单:其..\servers\(something)\logs和代码本身位于..\tools

在询问这里之前,我已经进行了一些研究,这就是我从何处获取for循环的方法,但这对我不起作用。

1 个答案:

答案 0 :(得分:0)

此代码有效

cd "%~dp0\..\servers"
for /f "tokens=*" %%A in ('dir /b /a:d') do (
    if exist "%%A\logs" (
        echo Found logs folder, switching directories...
        pushd "%%A\logs"
        if exist "*_MA_output_log.txt" (
            echo Found file, executing code
            findstr /R 76561*  "*_MA_output_log.txt" >> "..\..\..\tools\pre-results.txt"
            goto Parse
        ) else (
            echo MultiAdmin output does not exist!
            goto End
        )
        popd
    ) else (
        echo Logs folder not found!
        goto End
    )
)