Romannn1
26-09-2019, 18:04
Добрый день, подскажите пожалуйста, нужен скрипт для поиска файлов в которых есть определенное слово( не в названии файла) , файлы в формате doc, docx. поиск нужен на сетевом диске во всех подкаталогах, при нахождении совпадения, файл перемещается на другой диск. Нашел похожий скрипт, подскажите что дописать нужно чтоб искал во всех подкаталогах, пока эта версия ищет только в заданной папке...
@echo off
SetLocal EnableExtensions
::Задайте папку, в которой искать файлы
set src=C:\test\
::Задайте маску для искомых файлов
set mask=*.DOCX
::Задайте искомую фразу
set word=привет
set word1=пока
set dd=%DATE:~0,2%
set mm=%DATE:~3,2%
set yyyy=%DATE:~6,4%
set datus=%yyyy%%mm%%dd%
::Задайте расположение папки, в которую копировать найденные файлы
set dest=C:\1\
for /f "delims=" %%a in ('dir /b /a-d "%src%\%mask%"') do (
for %%A IN (%word%) DO (
>nul find "%%A" < "%src%\%%~a" && move /y "%src%\%%~a" "%dest%\" >nul 2>nul
)
)
pause
@echo off
SetLocal EnableExtensions
::Задайте папку, в которой искать файлы
set src=C:\test\
::Задайте маску для искомых файлов
set mask=*.DOCX
::Задайте искомую фразу
set word=привет
set word1=пока
set dd=%DATE:~0,2%
set mm=%DATE:~3,2%
set yyyy=%DATE:~6,4%
set datus=%yyyy%%mm%%dd%
::Задайте расположение папки, в которую копировать найденные файлы
set dest=C:\1\
for /f "delims=" %%a in ('dir /b /a-d "%src%\%mask%"') do (
for %%A IN (%word%) DO (
>nul find "%%A" < "%src%\%%~a" && move /y "%src%\%%~a" "%dest%\" >nul 2>nul
)
)
pause