如何批量导航到for循环中的子文件夹?

How to navigate to subfolder in for loop in batch?

使用 cd %%~i 我想将脚本导航到 U:\testbmbf[=19=]12 之后的下一个子文件夹..... 在同一层次结构级别上有很多这样的子文件夹。然后脚本应该在同一层次结构级别的所有这些子文件夹中搜索具有 5 个以下扩展名的文件。

问题是脚本遍历整个层次结构树并搜索所有可能的子级别。

如何 "lock" 脚本以便仅在下一个层级而不是更深层次上搜索文件扩展名? CD %%i 在这里似乎不起作用。

@echo off
SETLOCAL enabledelayedexpansion
for  %%i in (U:\testbmbf[=10=]12\) do (
    cd %%~i 
    for /r %%j in (*.tif) do U:\md5.exe %%j >> U:\check_before.txt && echo checking md5sum %%j
    for /r %%j in (*.txt) do U:\md5.exe %%j >> U:\check_before.txt && echo checking md5sum %%j
    for /r %%j in (*.pdf) do U:\md5.exe %%j >> U:\check_before.txt && echo checking md5sum %%j
    for /r %%j in (*.tei) do U:\md5.exe %%j >> U:\check_before.txt && echo checking md5sum %%j
    for /r %%j in (*.xml) do U:\md5.exe %%j >> U:\check_before.txt && echo checking md5sum %%j
    for /r %%j in (*.xls) do U:\md5.exe %%j >> U:\check_before.txt && echo checking md5sum %%j
)

你是这个意思吗?

@Echo Off
For /D %%A In (U:\testbmbf[=10=]12\*) Do (
    PushD "%%A"
    For %%B In (*.pdf *.tei *.tif *.txt *.xls *.xml) Do (
        Echo checking md5sum %%B
        U:\md5.exe "%%B">>U:\check_before.txt
    )
    PopD
)