Предполагая, что файл `коды содержит:
1234
5678
и у вашего каталога есть файлы с именем:
foo1234.txt
1234ABCfoo.txt
5678.txt
Тогда этот скрипт будет делать:
@echo off
for /f %%i in (codes.txt) do (
for /f %%a in ('dir /b /a-d *%%i* ^| findstr "foo"') do echo %%a
)
Сначала он проходит по code.txt, используя новые строки в качестве разделителей. Затем он выполнит dir для файлов, содержащих коды, и findstr
для foo в любом месте имени. Используя приведенные выше файлы, он отобразит только 2 найденных совпадения:
foo1234.txt
1234ABCfoo.txt
Он не будет совпадать с 5678.txt
, поскольку в нем нигде не было указано foo
.
Очевидно, вам нужно изменить часть echo
в моем скрипте на команду, которую вы хотите выполнить.