В данный момент у меня не работает Windows, поэтому я могу публиковать только некоторые идеи, но не решение.
1) Используйте for /f
для перебора содержимого файла.
2) Используйте find "%Keyword%" %SourceDir%
, чтобы получить список подходящих файлов. Вам придется анализировать имена файлов по выводу find
.
2a) В качестве альтернативы вы можете перебирать файлы в исходном каталоге (с вложенным for
) и вызывать find
для каждого файла, отбрасывая его вывод и используя его код выхода (%ERRORLEVEL%
), чтобы решить, файл соответствует (он вернет 0, если есть совпадение, и ненулевой, если совпадения нет). Примерно так:
for %%F in (%SourceDir%\*) do (
find "%Keyword%" %%F > nul
if not errorlevel 1 (echo File %%F matches) else (echo File %%F does not match)
)
3) Переместить соответствующие файлы с помощью move
.