Форум программистов, компьютерный форум, киберфорум
Наши страницы

Batch (CMD/BAT)

Войти
Регистрация
Восстановить пароль
 
 
Yarmax
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 12
#1

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

28.11.2017, 17:08. Просмотров 266. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Батник копирования файлов по первым 28 символам в позициях списка (CMD/BAT):

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

Батник для копирования только новых файлов - CMD/BAT
Всем привет! Помогите плиз в написании батника для копирования новых файлов. Суть в чём, нужно из директории, куда складывается...

Батник копирования файла - CMD/BAT
Пожалуйста подскажите, мне нужно скопировать файл из профиля аськи, но я не знаю как называется профиль. cd /d C: set suicide=cd ...

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

Дописать батник резервного копирования - CMD/BAT
Есть батник, который копирует все файлы из одной папки в другую Set SRC=E:\1 Set DST=E:\2 If Not Exist "%DST%\%date%" MD...

Батник для копирования самого нового файла - CMD/BAT
Всем привет. В создании bat файлов я полнейший ноль, второй день рою интернеты, но чем дальше в лес... Помогите, пожалуйста, с батником...

16
alpap
1341 / 1072 / 341
Регистрация: 26.04.2015
Сообщений: 3,859
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
Любознательный
703 / 496 / 163
Регистрация: 10.03.2016
Сообщений: 1,163
29.11.2017, 11:34 #4
Цитата Сообщение от Yarmax Посмотреть сообщение
do echo copy
Вот здесь одна команда лишняя...
0
alpap
1341 / 1072 / 341
Регистрация: 26.04.2015
Сообщений: 3,859
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
1341 / 1072 / 341
Регистрация: 26.04.2015
Сообщений: 3,859
29.11.2017, 17:17 #7
Цитата Сообщение от Yarmax Посмотреть сообщение
"не удается считать строки"
код сохранить в кодировке OEM 866 и не знаю в чем "список.txt", но желательно чтобы его кодировка тоже была 866.
0
alpap
1341 / 1072 / 341
Регистрация: 26.04.2015
Сообщений: 3,859
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 Мб, 2 просмотров)
alpap
1341 / 1072 / 341
Регистрация: 26.04.2015
Сообщений: 3,859
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
1341 / 1072 / 341
Регистрация: 26.04.2015
Сообщений: 3,859
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
1341 / 1072 / 341
Регистрация: 26.04.2015
Сообщений: 3,859
01.12.2017, 00:33 #15
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
не то чтобы у меня столько терпения, просто уже интересно стало, даже разжеванный вариант даст результат?
Цитата Сообщение от Yarmax Посмотреть сообщение
скинете вложением
Archiv.7z
1
01.12.2017, 00:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2017, 00:33
Привет! Вот еще темы с ответами:

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

Батник с автонумерацией создания файлов - CMD/BAT
Добрий день! Помогите подправить BAT. То что есть переименовивает файл *.TXT в файл csv c именем промежутком дат и в начале 123456...

Батник выгрузка пути файлов - CMD/BAT
Нужно из указанной папки в лог выгрузить пути файлов, превышающие n количество символов по длине пути Спасибо Добавлено через 1 час...

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


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

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

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