Компьютерный форум 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=212367)

скуби_ДУ 01-08-2011 12:39 1723851

Выборка файлов по части названия
 
Папка Test содержит много файлов типа, у которых в названии присутствуют определенные цифры. например файлы Y-000001-00, Y-000002-00, Y-000006-00,Y-000009-00 и т.д
Номера уникальны - двух файлов с совпадающими цифрами на любом месте нет. Расширение файлов если нужно - xml.
Имеется текстовый документ Nomer.txt в котором отмечены некоторые цифры
т.е.
000001
000006
000009
и т.д.

Задача: файлы в именах которых есть номера из текстового файла - перенести в другую папку. Т.е. в данном куске должен в папке Test остаться файл Y-000002-00, а допустим в папке Otbor - Y-000001-00, Y-000006-00,Y-000009-00

заранее спасибо откликнувшимся

amel27 01-08-2011 13:29 1723888

Код:

@echo off

set DIR=c:\TEST
set TXT=c:\Nomer.txt
set DST=c:\TEST\Otbor

pushd "%DIR%" && ( for /f "delims=" %%a in (
'dir/s/b/a-d *.xml^|findstr/g:"%TXT%"') do move/-y "%%a" "%DST%"
)


скуби_ДУ 01-08-2011 14:35 1723932

спасибо

скуби_ДУ 02-08-2011 10:15 1724394

еще вопрос по той же теме. оказывается для некоторых номеров в текстовом файле папка Test не содержит файлов. вот эти бы номера в отдельный файл. заранее спасибо amel27 за труд и учебу для нас дураков.

sov44 02-08-2011 13:02 1724500

Похожий вопрос. После открытия вордовскоих документов появляются скрытые файлы типа ~$абота.doc. Как их выловить и удалить?

amel27 02-08-2011 13:03 1724501

Цитата:

Цитата скуби_ДУ
вот эти бы номера в отдельный файл »

Код:

@echo off

set DIR=c:\TEST
set DST=c:\TEST\Otbor
set TXT=c:\Nomer.txt
set ERR=c:\Error.txt

pushd "%DIR%" && (
 for /f "usebackq" %%a in ("%TXT%") do (set "$F="
 for /f "delims="  %%A in ('dir/b/a-d "*%%a*.xml"2^>Nul') do (set "$F=."
 move/-y "%%A" "%DST%">con)
 if not defined $F echo:%%a
))>"%ERR%"

P.S. отключил поиск файлов в подкаталогах

скуби_ДУ 02-08-2011 14:04 1724543

в Error.txt перешли все номера из Nomer.txt ...

amel27 03-08-2011 10:35 1725038

исходные данные:
Список файлов
Код:

C:\TEST\Y-000001-00.xml
C:\TEST\Y-000002-00.xml
C:\TEST\Y-000006-00.xml
C:\TEST\Y-000009-00.xml

Nomer.txt
Код:

000001
000006
100009
000009


результат:
Список файлов
Код:

C:\TEST\Y-000002-00.xml
C:\TEST\Otbor\Y-000001-00.xml
C:\TEST\Otbor\Y-000006-00.xml
C:\TEST\Otbor\Y-000009-00.xml

Error.txt
Код:

100009


Время: 08:35.

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