Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Yarmax
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 12
1

Батник копирования файлов по первым 28 символам в позициях списка

28.11.2017, 17:08. Просмотров 892. Ответов 16
Метки нет (Все метки)

Добрый день всем,

вопрос к профессионалам этого ресурса. +1000 к вашей карме !

Нужно создать батник, который из папки "С:\изометрия" (с подпапками) копирует файлы по списку "список.txt".
в папке много файлов такого формата, например:
715-PAU-003H-770-IA-11003-01.pdf
715-PAU-002M-770-IA-11014-01.pdf
715-PAU-002H-770-IA-11014-01.pdf
715-PAU-001M-715-IA-11018-29-01.pdf
715-PAU-001M-715-IA-11004-01.pdf
715-PAU-001M-715-IA-11003-01.pdf
715-PAU-001H-715-IA-11003-01.pdf
700-SST-018W-770-IA-11008-01-R01-001.pdf
700-SST-018H-770-IA-11008-01-R01-001.pdf
700-SST-014W-770-IA-11008-01-R01-002.pdf
700-SST-014W-770-IA-11008-01-R01-001.pdf
700-SST-013W-770-IA-11008-01-R01-003.pdf
700-SST-013W-770-IA-11008-01-R01-002.pdf
700-SST-013W-770-IA-11008-01-R01-001.pdf
700-SPP-002R-770-IA-11011-01-R01.pdf
700-SPP-002R-770-IA-11010-01-R02.pdf
700-SPP-002R-770-IA-11003-01-R02A.pdf
700-SPP-001R-770-IA-11016-01-R01A.pdf
700-SPP-001R-770-IA-11014-01-R01.pdf
700-SPP-001R-770-IA-11012-02-R01.pdf
700-SPP-001R-770-IA-11008-01-R03A.pdf
700-SPP-001R-770-IA-11003-01-R02E.pdf

а список, например такой :
715-PAU-001M-715-IA-11004-01
700-SST-018W-770-IA-11008-01
700-SST-018H-770-IA-11008-01
700-SST-013W-770-IA-11008-01
700-SST-013W-770-IA-11008-01

(28 символов, а в pdf эти 28+еще что-то)

В итоге в папке С:\OUT\ оказаться:
715-PAU-001M-715-IA-11004-01.pdf
700-SST-018W-770-IA-11008-01-R01-001.pdf
700-SST-018H-770-IA-11008-01-R01-001.pdf
700-SST-013W-770-IA-11008-01-R01-003.pdf
700-SST-013W-770-IA-11008-01-R01-001.pdf
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2017, 17:08
Ответы с готовыми решениями:

Батник для копирования и удаления определенных файлов
Всем привет! Задача такая. Есть папка на диске С куда падают файлы разных...

Батник для копирования только новых файлов
Всем привет! Помогите плиз в написании батника для копирования новых файлов....

Батник копирования файла
Пожалуйста подскажите, мне нужно скопировать файл из профиля аськи, но я не...

Батник копирования по сети
Есть сервер и клиент(сеть одноранговая без домена). Мне нужно скопировать файлы...

Дописать батник резервного копирования
Есть батник, который копирует все файлы из одной папки в другую Set...

16
alpap
1461 / 1176 / 383
Регистрация: 26.04.2015
Сообщений: 4,146
28.11.2017, 19:32 2
Windows Batch file
1
2
3
@echo off
for /f "delims=" %%a in ('dir /a-d/b/s "С:\изометрия"^|findstr /g:"список.txt"') do echo copy "%%a" "С:\OUT"
pause
1
Yarmax
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 12
29.11.2017, 10:20  [ТС] 3
Вставил такое:

Windows Batch file
1
2
3
@echo off
for /f "delims=" %%a in ('dir /a-d/b/s "С:\изометрия"^|findstr /c:\изометрия\список.txt"') do echo copy "%%a" "С:\изометрия\OUT"
pause
бат файл поместил в папку С:\изометрия
Запускается, мелькает и все - папка OUT пустая
0
YuS_2
Любознательный
756 / 544 / 177
Регистрация: 10.03.2016
Сообщений: 1,255
29.11.2017, 11:34 4
Цитата Сообщение от Yarmax Посмотреть сообщение
do echo copy
Вот здесь одна команда лишняя...
0
alpap
1461 / 1176 / 383
Регистрация: 26.04.2015
Сообщений: 4,146
29.11.2017, 13:20 5
Yarmax,

бездумное копирование ни к чему хорошему не приведет, надо понимать что делаете, а для этого читать справку к командам.
Думаю при такой подаче кода уже не ошибетесь, в сам код лезть не надо, только в переменные и bat не обязательно помещать в папку с файлами.
(echo перед copy стояла в качестве предохранителя - убрал)
Windows Batch file
1
2
3
4
5
6
@echo off
set "d1=С:\изометрия"
set "d2=С:\OUT"
set "f=C:\изометрия\список.txt"
for /f "delims=" %%a in ('dir /a-d/b/s "%d%"^|findstr /g:"%f%"') do copy "%%a" "%d2%"
pause
0
Yarmax
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 12
29.11.2017, 15:54  [ТС] 6
alpap, это не я Уже близко к победе, чувствую! Сейчас пишет, что "не удается считать строки" ?!
0
alpap
1461 / 1176 / 383
Регистрация: 26.04.2015
Сообщений: 4,146
29.11.2017, 17:17 7
Цитата Сообщение от Yarmax Посмотреть сообщение
"не удается считать строки"
код сохранить в кодировке OEM 866 и не знаю в чем "список.txt", но желательно чтобы его кодировка тоже была 866.
0
alpap
1461 / 1176 / 383
Регистрация: 26.04.2015
Сообщений: 4,146
29.11.2017, 17:30 8
Yarmax,
здесь: ...dir /a-d/b/s "%d%"... пропущена единичка (для вас специально же и делал изменения), надо dir /a-d/b/s "%d1%"
Батник копирования файлов по первым 28 символам в позициях списка
0
Yarmax
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 12
30.11.2017, 15:10  [ТС] 9
Кодировки, вроде, поменял...+Вбил все в командную строку - "непредвиденное появление %%а".

Чтобы у нас было взаимопонимание:

изометрия:
000-SPP-003R-000-GL-85516-01-R02B.pdf
000-SPP-003H-000-SA-85515-01-R02.pdf
000-SPP-003H-000-SA-85515-01.pdf
000-SPP-003H-000-PW-855080-01-R02A.pdf
000-PWB-005H-000-SA-85509-01-R02-CANCELLED.pdf

список:
000-SPP-003H-000-SA-85515-01
000-PWB-005H-000-SA-85509-01

результат (OUT):
000-SPP-003H-000-SA-85515-01-R02.pdf
000-SPP-003H-000-SA-85515-01.pdf
000-PWB-005H-000-SA-85509-01-R02-CANCELLED.pdf
0
Yarmax
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 12
30.11.2017, 15:15  [ТС] 10
Загрузил папку с примерами..
0
Вложения
Тип файла: zip изометрия.zip (6.69 Мб, 3 просмотров)
alpap
1461 / 1176 / 383
Регистрация: 26.04.2015
Сообщений: 4,146
30.11.2017, 17:58 11
Цитата Сообщение от Yarmax Посмотреть сообщение
Вбил все в командную строку

а составлять bat с кодом - не пробовали? Где я говорил что это надо вбивать в командную строку!

Добавлено через 3 минуты
на моем скрине правый верхний угол - что с именем "name.bat"? Для кого это все вообще делается, мне надо или вам?
0
Yarmax
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 12
30.11.2017, 18:26  [ТС] 12
Да это от отчаяния, что не работает!
0
alpap
1461 / 1176 / 383
Регистрация: 26.04.2015
Сообщений: 4,146
30.11.2017, 22:24 13
Цитата Сообщение от Yarmax Посмотреть сообщение
что не работает!
вот непосредственно на папке, предоставленной вами в архиве:
Батник копирования файлов по первым 28 символам в позициях списка
1
Yarmax
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 12
30.11.2017, 23:34  [ТС] 14
все равно "не удается считать строки". кодировка нормальная, может я в список.txt не так указываю наименования в столбик. буду благодарен, если скинете вложением - не могу понять, где моя ошибка
0
alpap
1461 / 1176 / 383
Регистрация: 26.04.2015
Сообщений: 4,146
01.12.2017, 00:33 15
Лучший ответ Сообщение было отмечено Yarmax как решение

Решение

не то чтобы у меня столько терпения, просто уже интересно стало, даже разжеванный вариант даст результат?
Цитата Сообщение от Yarmax Посмотреть сообщение
скинете вложением
Archiv.7z
1
Yarmax
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 12
07.12.2017, 10:38  [ТС] 16
Alpap , огромнейшее спасибо, на работе получилось легко, а дома почему-то нет! От разрядности может зависит? Супер!!
Подскажите, напоследок, если нужен поиск не по первым 28 символам, а например с 14 по 28 (000-LG-00001-01), то что нужно поменять?
0
alpap
1461 / 1176 / 383
Регистрация: 26.04.2015
Сообщений: 4,146
07.12.2017, 16:24 17
Цитата Сообщение от Yarmax Посмотреть сообщение
не по первым 28
причем тут вообще 28, поиск ведется на совпадение по строке
если выше код не найдет, поменять на:
Windows Batch file
1
2
3
...
...in ('dir /a-d/b/s "%d%"^|findstr /rc:"\<000-LG-00001-01\>"') do...
...
0
07.12.2017, 16:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2017, 16:24

Батник для копирования самого нового файла
Всем привет. В создании bat файлов я полнейший ноль, второй день рою интернеты,...

Надо создать батник для копирования папки в папку с заменой
Помогите создать BAT для копирования папки в папку с заменой Есть Папка1 и...

Батник для перемещения файлов
Задача вот какая, есть программа которая пишет свои логи в файл, каждый день...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru