Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Поиск и перемещение файлов содержащих определенную комбинацию (http://forum.oszone.net/showthread.php?t=317176)

150pi 26-07-2016 14:47 2654257

Поиск и перемещение файлов содержащих определенную комбинацию
 
Здравствуйте.

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

Код:

@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 2654348

Код:

@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 2654539

Работает прекрасно! Спасибо!
А как еще добавить условие, что в имени файла должна присутствовать строка?
Например перемещать только файлы содержащие в себе строку поиска и имеющие в имени слово "way"

alpap 28-07-2016 01:48 2654687

Код:

@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 2654855

В данном случае проще и быстрее будет такой код:

Код:

@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 2655139

Всем спасибо, очень помогли!


Время: 05:05.

Время: 05:05.
© OSzone.net 2001-