Как перейти к подпапке в цикле for в пакете? - PullRequest
0 голосов
/ 07 мая 2018

С помощью cd %%~i Я хочу перейти к следующему подпапку скрипта после U: \ testbmbf \ 0012 ..... Существует много таких подпапок на одном уровне иерархии. Затем скрипт должен искать файлы с 5 следующими расширениями во всех этих подпапках ТОЛЬКО на одном уровне иерархии.

Проблема в том, что скрипт проходит через все дерево иерархии и ищет все возможные подуровни.

Как «заблокировать» скрипт для поиска расширений файлов ТОЛЬКО на следующем уровне иерархии, но не глубже? CD %%, кажется, здесь не работает.

@echo off
SETLOCAL enabledelayedexpansion
for  %%i in (U:\testbmbf\0012\) 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
)

1 Ответ

0 голосов
/ 07 мая 2018

Это то, что вы имеете в виду?

@Echo Off
For /D %%A In (U:\testbmbf\0012\*) 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
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...