Войти

Показать полную графическую версию : [решено] Копирование файла по частичной маске


tAnk3o3
26-12-2011, 17:22
Добрый день коллеги, никак не могу найти решения в своей проблеме
Суть задачи:
1. Нужно чтобы батник копировал файлы вот такого вида: 9999*.n* (где * = любому числу, как четырёхзначному так и двухзначному)

2. Нужно чтобы копировались файлы только с раширениями 9999*.GW1, 9999*.N10, 9999*.wqS, т.е как указать чтобы допустим копировались только эти 3-и маски файлов по такому типу файла ?
Возможно ли такое ?)
Пользовался поиском, решения не нашёл
Заранее огромное спасибо

kiripanda
26-12-2011, 18:29
2.
for /f "delims=" %%a in ('dir /b/a-d *.GW1 *.N10 *.wqS ^|findstr /r /g:masks2.txt') do @echo copy /y "%%a" ...

^9999[0-9][0-9]\.
^9999[0-9][0-9][0-9]\.
^9999[0-9][0-9][0-9][0-9]\.


для 1.
в коде: минус *.GW1 *.N10 *.wqS
в масках: плюс что ты там имел ввиду под "* = любому числу, как четырёхзначному так и двухзначному"

tAnk3o3
27-12-2011, 09:24
1. Т.е имя файла может быть как 99990000.n11, так и 999900.n12

2. не совсем понял эти обозначения...если Вас не затруднит можно поподробней ?)
^9999[0-9][0-9]\.
^9999[0-9][0-9][0-9]\.
^9999[0-9][0-9][0-9][0-9]\.

Спасибо


3. А если допустим нужно копировать файлы, формата kgt*.txt, shk*.txt, ukp*.txt, где * неизвестное количество символов, вплоть до 20-ти знаков.... имеющие как и цифры так и буквы, пример: DFF014525541_775020111226_2704000011000625_100.txt

kiripanda
27-12-2011, 17:52
1.
^9999[0-9][0-9]\.n[0-9][0-9]$
^9999[0-9][0-9][0-9][0-9]\.n[0-9][0-9]$
2.
прочитайте findstr/?
3.
просто dir /b/a-d kgt*.txt shk*.txt ukp*.txt

tAnk3o3
28-12-2011, 10:02
Спасибо огромное ) стало понятней:)
последний вопрос, можно ли в этом условии перечислить несколько типов файлов ?
допустим GGB1_*.txt, DBG1_*.txt
for %%F in (%fld%\GGG1_*.txt) do (
xcopy %%F %dcp%
)
Спасибо

kiripanda
28-12-2011, 19:23
Вполне.
Но я всегда пользуюсь for /f %%a in ('dir...

tAnk3o3
29-12-2011, 10:09
Проблема решена, всем спасибо.тему можно закрывать




© OSzone.net 2001-2012