Войти

Показать полную графическую версию : Выборка файлов по части названия


скуби_ДУ
01-08-2011, 12:39
Папка 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
@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
спасибо

скуби_ДУ
02-08-2011, 10:15
еще вопрос по той же теме. оказывается для некоторых номеров в текстовом файле папка Test не содержит файлов. вот эти бы номера в отдельный файл. заранее спасибо amel27 за труд и учебу для нас дураков.

sov44
02-08-2011, 13:02
Похожий вопрос. После открытия вордовскоих документов появляются скрытые файлы типа ~$абота.doc. Как их выловить и удалить?

amel27
02-08-2011, 13:03
вот эти бы номера в отдельный файл »
@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
в Error.txt перешли все номера из Nomer.txt ...

amel27
03-08-2011, 10:35
исходные данные:
C:\TEST\Y-000001-00.xml
C:\TEST\Y-000002-00.xml
C:\TEST\Y-000006-00.xml
C:\TEST\Y-000009-00.xml000001
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.xml100009




© OSzone.net 2001-2012