Войти

Показать полную графическую версию : Поиск и перемещение файлов содержащих определенную комбинацию


150pi
26-07-2016, 14:47
Здравствуйте.

Задача.
Пользователь вводит строку, по ней выполняется поиск внутри файлов в заданной директории. Если файл целиком содержит маску поиска, он должен быть перемещен на уровень выше.
Поиск было сделать просто:

@echo off

set /P TTN_NUMBER="Input the TTN number to search: "
findstr /s /I /O /C:%TTN_NUMBER% C:\test\*.xml

А дальше не получается реализовать. Прошу помощи.

Спасибо.

Georgio
26-07-2016, 21:36
@echo off

set /p TTN_NUMBER="Input the TTN number to search: "
for /f "delims=" %%i in ('findstr /ilmsc:"%TTN_NUMBER%" "C:\test\*.xml"') do move "%%i" "%%~dpi.."

150pi
27-07-2016, 15:39
Работает прекрасно! Спасибо!
А как еще добавить условие, что в имени файла должна присутствовать строка?
Например перемещать только файлы содержащие в себе строку поиска и имеющие в имени слово "way"

alpap
28-07-2016, 01:48
@echo off
set "d=C:\test\*.xml"
set /p TTN_NUMBER="Input the TTN number to search: "
for /f "delims=" %%a in ('dir/a-d/b "%d%"^|find "way"') do findstr/ilc:"%TTN_NUMBER%" "%d%\%%a" && move "%d%\%%a" "%d%\.."
exit
.

Georgio
28-07-2016, 14:15
В данном случае проще и быстрее будет такой код:

@echo off

set /p TTN_NUMBER="Input the TTN number to search: "
for /f "delims=" %%i in ('findstr /ilmsc:"%TTN_NUMBER%" "C:\test\*way*.xml"') do move "%%i" "%%~dpi.."

.

150pi
29-07-2016, 11:16
Всем спасибо, очень помогли!




© OSzone.net 2001-2012