Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Переименование и копирование файлов

Ответить
Настройки темы
CMD/BAT - [решено] Переименование и копирование файлов

Пользователь


Сообщения: 60
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день! Хочу создать батник, который бы переименовывал файлы в папке и копировал их в итоговую "Total"

Есть две папки, "1" и "2" и в обеих лежат файлы c именами:
check1,check2,check3.... и т.д

Нужно чтобы нумерация начиналась с 001 и к имени добавлялся номер папки.

например check001_1, check002_1, check003_1 - это для папки "1" и например check001_2, check002_2, check003_2 - для папки "2"

файлов может быть более тысячи

Для меня это нереально(

Пробовал только переименовывать вот таким кодом

for /f "tokens=*" %%a in ('dir /b C:\Onkassa\Rename\1\*.*') do ren C:\Onkassa\Rename\1\%%a 001_1%%a

в итоге переименован только первый файл 001_1check

Отправлено: 11:24, 17-08-2018

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


jordan_74, Вы опять описываете выбранное Вами решение, а не задачу.
Скрытый текст
Цитата jordan_74:
Есть некое кол-во архивов с файлами, которые в каждом архиве пронумерованы от check1 до условно check100. »
1. Некое количество — какое именно? Сколько их может быть? В каких пределах может изменяться? От чего это зависит? Каковы имена архивов?
2. Имена файлов всегда ли check? Нумерация всегда ли с 1? Не может ли быть пропусков в нумерации?
3. Одноимённые файлы в разных архивах одинаковы или нет?

Цитата jordan_74:
Есть папка 1 и 2 , куда архивы и кладутся. »
1. Почему папки именуются именно 1 и 2?
2. Почему папки 1 и 2, а архивов — некое количество?
3. Как именно распределяется некое количество архивов по папкам 1 и 2, и почему именно так распределяются, а не как-то иначе?
4. Почему вообще нужно распределять архивы по папкам?

И это вопросы, возникающие только по первым двум (!) предложениям.

Цитата megaloman:
А созерцательное сидение на берегу реки не катит. На реку, огонь и работающего человека можно смотреть бесконечно (и безрезультатно) »
Да ну . Я очень созерцательно тут сидел и результативно наблюдал. И у меня получилось !

Цитата jordan_74:
megaloman, Это то, что нужно! »
Так там ещё и не check1, а check1.xls/check1.xlsx .
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:44, 21-08-2018 | #51



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Пользователь


Сообщения: 60
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
1. Некое количество — какое именно? Сколько их может быть? В каких пределах может изменяться? От чего это зависит? Каковы имена архивов?
2. Имена файлов всегда ли check? Нумерация всегда ли с 1? Не может ли быть пропусков в нумерации?
3. Одноимённые файлы в разных архивах одинаковы или нет? »
1) Архивов может быть не более 20. Зависит от кол-ва используемых для оплаты счетов. Имя архива "Расчетный счет 40702810816540044924 от 17082018" в котором часть номера счета, а именно 407028 остается неизменной. Счетов может быть в пределах десятка
2)Имя файла должно начинаться с check. нумерация должна быть с 001. Пропусков нумерации быть не должно.
3)Одноимённые файлы в разных архивах различны по содержанию. Содержание никак не привязано к нумерации.

Цитата Iska:
1. Почему папки именуются именно 1 и 2?
2. Почему папки 1 и 2, а архивов — некое количество?
3. Как именно распределяется некое количество архивов по папкам 1 и 2, и почему именно так распределяются, а не как-то иначе?
4. Почему вообще нужно распределять архивы по папкам? »
Имена папок названы произвольно. Существует 2 источника получения чеков, поэтому то и 2 папки.

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

Отправлено: 15:00, 21-08-2018 | #52


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Цитата jordan_74:
Имя архива "Расчетный счет 40702810816540044924 от 17082018"
Счетов может быть в пределах десятка
Одноимённые файлы в разных архивах различны по содержанию
Существует 2 источника получения чеков, поэтому то и 2 папки»
Вперёд на баррикады!
1. В папке A и B чеки разных счетов или счета в этих папках могут совпадать?
2. Вы распаковали архив, допустим, с именем Расчетный счет 40702810816540044924 от 16082018 в папку A. Получили файлы check1,2,3 .... Переименовали их в check001_10816540044924_A, 002, 003, 004 и т д. Скопировали в Total. Что с ними далее?
Следующий шаг: Вы распаковали архив, допустим, с именем Расчетный счет 40702810816540044924 от 17082018 в папку A. Опять получили файлы check1,2,3 .... ??? Что с ними делать, у Вас уже есть файлы check001_10816540044924_A, 002, 003, 004 и т д. Приплыли? Что далее?
3. Зачем вообще эта катавасия? Зачем распаковываются архивы? Не лучше ли файлы после каждой распаковки именовать
10816540044924_20180817_001_A, 002, 003 ...
10816540044924_20180818_001_A, 002, 003 ...
или
20180817_10816540044924_001_A, 002, 003 ...
20180818_10816540044924_001_A, 002, 003 ...
в зависимости от того, что при сортировке предпочтительнее.
А слово check вааще не нужно ...
4. Зачем иметь одинаковые файлы в A, B и Total

Идея такая: батник берёт последовательно архивы, распаковывает в папку (кстати, а где признак того, что архив должен распаковывается в папку A или B?), переименовывает/копирует с именами, связанными с архивом.
Нужно четкое описание, зачем это нужно и последовательность действий.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 21-08-2018 в 18:53.


Отправлено: 18:41, 21-08-2018 | #53


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата jordan_74:
2)Имя файла должно начинаться с check. нумерация должна быть с 001. Пропусков нумерации быть не должно. »
Как выше правильно подметили, все равно, однозначной идентификации в общей куче не получается.
1. Что будет сбрасывать счетчик?
а) Поступление новых архивов
б) Переполнение счетчика
в) Наступление определенной даты
2. Как часто поступают архивы? Возможна ли ситуация, что в один день поступает несколько архивов с одинаковым номером счета?
3. Нумерация имеет значение в пределах одного архива или необходима перенумерация всех распакованных файлов под один счетчик?

-------
scio me nihil scire. Ѫ


Отправлено: 21:53, 21-08-2018 | #54


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Коллеги! Добьём тему до десяти страниц, а ? Как думаете?

Отправлено: 22:24, 21-08-2018 | #55


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата Iska:
Как думаете? »
что нам стоит дом построить?
нарисуем - будем жить.

-------
scio me nihil scire. Ѫ


Отправлено: 22:36, 21-08-2018 | #56


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Цитата jordan_74:
2)Имя файла должно начинаться с check. нумерация должна быть с 001. Пропусков нумерации быть не должно. »
вы всё в одну кучу мешаете

напишите отдельно:
1) что получаете на входе
2) какой результат должен быть

сейчас совершенно непонятно, что вы написали: то ли что входные данные гарантированно не имеют разрывов в нумерации; то ли что имеют и надо перенумеровывать

Отправлено: 10:36, 22-08-2018 | #57


Пользователь


Сообщения: 60
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата megaloman:
А слово check вааще не нужно ... »
Программа чекопечати подтягивает файл на печать только в том случае, если его имя начинается на check

Цитата megaloman:
Не лучше ли файлы после каждой распаковки именовать
10816540044924_20180817_001_A, 002, 003 ...
10816540044924_20180818_001_A, 002, 003 ...
или
20180817_10816540044924_001_A, 002, 003 ...
20180818_10816540044924_001_A, 002, 003 ... »
Это отличный вариант, но имя файла все равно должно начинаться на check

Цитата megaloman:
В папке A и B чеки разных счетов или счета в этих папках могут совпадать? »
A и B это разные источники получения чеков. в этих папках чеки разных счетов и не совпадают.

Цитата megaloman:
Скопировали в Total. Что с ними далее? »
Далее я копирую файлы на ресурс печати чеков.

Цитата megaloman:
Зачем иметь одинаковые файлы в A, B и Total »
Вы правы, по идее после того, как файлы скопировались в Total, папки А и В нужно очищать

Последовательность действий:

Есть 2 папки А и В и итоговая Total
Ежедневно я кладу в каждую из них архивы с файлами чеков с текущей датой. И печатать я буду только чеки полученные за текущую дату.
Архивы в папках распаковываются, переименовываются файлы c указанием номера счета и даты, условно в check001_10816540044924_20180817_A и т.д
После, файлы чеков из папок А и В копируются в Total, после чего папки A и B очищаются. Папка Total очищается мной вручную, я переношу файлы на ресурс печати
Каждый новый день нумерация файлов начинается с 001

Отправлено: 11:18, 22-08-2018 | #58


Пользователь


Сообщения: 60
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Busla:
напишите отдельно:
1) что получаете на входе
2) какой результат должен быть »
Есть файл check1, check2, check3
на выходе check001_10816540044924_20180817_A

Отправлено: 11:59, 22-08-2018 | #59


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата Busla:
сейчас совершенно непонятно »
Не то, чтобы совершенно, а скорее разрозненно и запутанно.
Цитата jordan_74:
в каждом архиве пронумерованы от check1 до условно check100. »
Цитата jordan_74:
Файлов в папка должно быть менее 1000, тоесть 999 »
Цитата jordan_74:
Содержимое файлов никакого отношения к нумерации не имеет. »
отсюда следует:
уникальная нумерация требуется в исходных папках, условно "A" и "B", без учета находящихся там же архивов (хотя местоположение архивов не указано вроде...).
далее:
Цитата jordan_74:
Распаковать архив(ы) в папках 1 и 2, после чего файл архива удалить. »
Цитата jordan_74:
Переименовать файлы с именами от check001 до check999 при этом добавить к имени значение названия папки »
Цитата jordan_74:
Имя архива "Расчетный счет 40702810816540044924 от 17082018" в котором часть номера счета, а именно 407028 остается неизменной. Счетов может быть в пределах десятка »
Цитата jordan_74:
К имени файла вместо _1 , _2 и т.д добавить часть имени архива!? А именно часть номера счета »
казалось бы вместо имени папки номер счета, но:
Цитата jordan_74:
Можно к имени добавить оставшуюся часть номера счета ,в данном случае "10816540044924" чтобы в итоге получить например check007_10816540044924_A ??? »
ну да ладно - это мелочь...
Цитата jordan_74:
Имя файла должно начинаться с check. нумерация должна быть с 001. Пропусков нумерации быть не должно. »
Цитата jordan_74:
все это нужно, чтобы в процессе печати можно было всегда отследить из какого архива был чек, и если он ошибочный, то быстро найти его в исходном архиве. Вобщем вся информация в имени чека нужна для возможности анализа. »
исходя из вышеизложенного, остался невыясненными вопросы:
1. Переименование файлов осуществляется на регулярной основе? Если на регулярной, то:
2. Перед запуском переименования, необходимо освобождать исходные и целевую папки от распакованных файлов. Они будут удаляться или перемещаться? Если перемещаться, то куда? Это должен делать разрабатываемый скрипт или какой-либо другой инструмент (возможно вручную?)?
3. С какой частотой поступают архивы с чеками? Они появляются автоматически или вручную? Если автоматически, то возможна ли ситуация появления архива в процессе переименования?

-------
scio me nihil scire. Ѫ


Отправлено: 12:17, 22-08-2018 | #60



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Переименование и копирование файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Переименование папки и копирование новой из сети. Lorttt Скриптовые языки администрирования Windows 19 19-06-2017 18:56
CMD/BAT - Копирование файла и переименование согласно списка из exel TPOJIb_55 Скриптовые языки администрирования Windows 4 01-06-2016 09:28
CMD/BAT - Копирование файлов из подкаталогов и их переименование в название папки lexxxyatina Скриптовые языки администрирования Windows 7 13-11-2014 09:44
CMD/BAT - [решено] Копирование и переименование файла по особой маске DARK-Silver666 Скриптовые языки администрирования Windows 5 20-12-2012 21:22
VBS/WSH/JS - [решено] переименование и копирование папки Anufriev Скриптовые языки администрирования Windows 6 22-05-2012 08:11




 
Переход