|
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 39
|
|
Копирование файлов с переименованием в случае совпадения имён перемещаемых и имеющихся в папке назначения файлов23.11.2017, 14:10. Показов 13419. Ответов 25
Метки нет (Все метки)
Добрый день. Помогите создать bat файл. Смысл в чем есть папка загрузки на компьютере с нее файлы и папки содержащиеся в ней должны копироваться в определенную папку на жестком диске. Файлы и папки в папке загрузки с определенной переодичностью удаляются другим батником. И после в папке загрузки могут появляться файлы с тем же именем что и файлы перемещенные в указанную папку. Требуется что бы при копировании новых файлов из папки загрузки в случае совпадения имён копируемых и имеющихся в папке назначения файлов к старым файлам находящимся в папке для копирования добавлялся префик (например дата создания файла) в названии, а новые файлы просто копировались из папки загрузки.
Спасибо за любую помощь.
0
|
|
| 23.11.2017, 14:10 | |
|
Ответы с готовыми решениями:
25
Копирование файлов с переименованием в случае совпадения имён копируемых и имеющихся в папке назначения файлов Копирование файлов с переименованием в случае совпадения имён перемещаемых с удалением копируемых в начальной папке Копирование содержимого одной папки в другую с переименованием файлов и папок в случае совпадения имён |
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|||||||
| 23.11.2017, 17:02 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 39
|
|
| 23.11.2017, 17:05 [ТС] | |
|
Сейчас попробую
0
|
|
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|
| 23.11.2017, 17:15 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 39
|
|
| 23.11.2017, 17:16 [ТС] | |
|
Работает но копируются только файлы находящиеся в этой папке
Дата в имя файла не вставляется добавляется цифра +1 в названии файла (как добавить пробел) В этой статье Копирование файлов с переименованием в случае совпадения имён копируемых и имеющихся в папке назначения файлов Код который используется самым последним в названии добавлялась file и текущая дата и время Можешь подскакать как сделать так что бы он копировал и папки и файлы файлы находящиеся внутри них по той же схеме что и файлы в основной папке?
0
|
|
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||
| 23.11.2017, 17:28 | ||
|
это уже второй запуск - два файла соответственно при этом коде,
при первом коде в той же папке был бы при первом запуске 1111, в другой папке только со второго запуска будет 1111, так как предполагается что проверяемый 111 уже есть Добавлено через 9 минут
0
|
||
|
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 39
|
|
| 23.11.2017, 17:35 [ТС] | |
|
А как настроить что бы новая цифра была через пробел и окружена скобками
Добавлено через 1 минуту Я все внимательно несколько раз прочитал я просто не разбираюсь в якыке этого кода Добавлено через 2 минуты Меня впринципе все устраивает в том коде на которую я дал ссылку, там не работает ли то что не учитываются внутринние каталоги в этой папке и файлы который в них находятся
0
|
|
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||||||||
| 23.11.2017, 17:41 | ||||||||
0
|
||||||||
|
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 39
|
|
| 23.11.2017, 17:43 [ТС] | |
|
Спасобо тепеть файлы которые уже есть с цифрой в скобках. А как сделать что бы копировались папки и файлы в них. На рисунке 1 папки присутствуют, а га рисунке 2 куда происходит копирование папок нет.
0
|
|
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||
| 23.11.2017, 17:47 | ||
|
но в %%a уже будет полный путь и надо будет откорректировать "%d_in%\%~1"
Добавлено через 1 минуту Добавлено через 1 минуту да и вообще это другая задача уже - как всегда хромает постановка задачи а еще как всегда - неправильный подход к выполнению задачи.
0
|
||
|
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 39
|
|
| 23.11.2017, 17:59 [ТС] | |
|
Подскажи а будет учитываться только папка находящаяся в это папке, или паппка в папке в папке. И файлы в этих папках будут копироваться по тойже схеме ч и в основном каталоге?
Добавлено через 8 минут Смотри у меня есть папка загрузки и в ней находятся файлы и папки с файлами. Файлы из папки загрузки удаляются каждый понедельник. Но мне требуется чтобы эти файлы хранились в отдельной папке на другом диске. (С этим мы разобрались файлы из папки загрузки копируются). Но как я писал в самом начале файлы загруженные в папку загрузки могут иметь одинаковое название с теми что уже скопированы. (С этим мы тоже разобрались). Теперь остасоль разобраться с тем чтобы копировались не только файлы, но и папки которые есть в папке загрузки, а в этих папка тоже есть файлы. Папки должны просто копироваться без присвоения им +1 в названии, а файлы которые в них солердатся должны следовать томуже правилу что и в основной папке. Добавлено через 1 минуту Давай я завтра на фотография все объясню. Просто сейчас надо идти и нет возможности показать. Хорошо?
0
|
|
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|||||||||||
| 23.11.2017, 18:02 | |||||||||||
|
я бы для начала хоть как-то разделил все это безобразие
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 39
|
|
| 23.11.2017, 18:05 [ТС] | |
|
Давая до завтра оставим эту тему. Хорошо?
0
|
|
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|||||||
| 23.11.2017, 20:32 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 39
|
|||||||||||||||||||||||||||||||
| 24.11.2017, 12:31 [ТС] | |||||||||||||||||||||||||||||||
|
alpap, Добрый день. Давая я заново обресую ситуацию, постарался изложить в подробностях:
Сейчас у меня есть две папки с их уровнем вложений (эти папки сейчас используются для примера): (рис. 1) C:\Users\Toshiba\Desktop\5 (в будущем это будет папка загрузки) (у папки C:\Users\Toshiba\Desktop\5 есть еще под папки с неизвестный уровнем вложений сейчас их 2 но, в будущем может получиться так C:\Users\Toshiba\Desktop\5\Новая папка\Еще папка\Еще папка\Новая папка\ и так далее уровень конечного вложения сейчас неизвестен) (рис. 2) C:\Users\Toshiba\Desktop\6 (это папка куда сейчас копируются файлы из папки C:\Users\Toshiba\Desktop\5, в будущем она тоже изменится) Что мне требуется сейчас: (знаком +++ я отмечу то что уже реализовано) +++1) Чтобы файлы из папки C:\Users\Toshiba\Desktop\5 копировались в папку C:\Users\Toshiba\Desktop\6, этим скриптом файлы копируются.
+++3) При первичном копировании файлы из папки C:\Users\Toshiba\Desktop\5 копируются с оригинальным названием в папку C:\Users\Toshiba\Desktop\6, (или вторичное использование скрипта или первичное копирование файлов из папки C:\Users\Toshiba\Desktop\5, но они уже присутствую в папке C:\Users\Toshiba\Desktop\6) но если в папке C:\Users\Toshiba\Desktop\6 уже присутствует файл с таким названием, то к ним добавляется префик, а файлы из папки C:\Users\Toshiba\Desktop\5 снова копируются с оригинальным названием. (рис. 3 - первое использование скрипта когда папка была пуста, рис 4 - второе использование скрипта когда в ней эти файлы уже находились) +++4) Пример - оригинальное название 1.txt при вторичном копировании с использованием скрипта с кодом
5) Если заменить часть кода выше указанного скрипта на:
При первичном копировании к файлам сразу добавляется пробел и значение в скобках с цифрой 1 (пример - 1 (1).txt, 2 (2).txt, 3 (3).txt и тд.) (рис. 5) При вторичном использовании скрипта в скобках прибавляется +1 (пример - 1 (2).txt, 2 (3).txt, 3 (4).txt и тд.) (рис. 6) А требуется: Чтобы было при первичном использовании скрипта было как в пункте 4, а при вторичном добавлялось значение через пробел в скобках со значением 1, при третьем использовании значение в скобках 2 и потом +1 и так далее . (пример - первое - 1.txt; второе - 1 (1).txt, 2 (1).txt, 3 (1); третье - 1 (2).txt, 2 (2).txt, 3 (2); четвертое - 1 (3).txt, 2 (3).txt, 3 (3) и так далее до бесконечности) 6) Не учитываются внутренние папки и файлы в папке C:\Users\Toshiba\Desktop\5 при их копировании скриптом (на рис. 1 - видно что у папки 5 есть вложенные папки.) (то есть в папке C:\Users\Toshiba\Desktop\5 есть внутренние папки, а в этих папках есть свои файлы и вложенные папки с файлами (C:\Users\Toshiba\Desktop\5\Новая папка\Новая пака\fgd.txt)), (а при использовании скрипта они не копируются в папку C:\Users\Toshiba\Desktop\6). Как Вы вчера писали если заменить dir /a-d/b в скрипте в строчке for /f "delims=" %%a in ('dir /a-d/b "%d_in%"') do call :l "%%a" на dir /a-d/b/s Вы указали в сообщении для учета внутренних каталогов в этой папке. Но если заменить это код то возникает ошибка (рис. 7) Мне требуется по этому пункту чтобы файлы находящиеся в папке C:\Users\Toshiba\Desktop\5 следовали правилу как в выше упомянутых скриптах с исправлениями. Папки которые находятся в папке C:\Users\Toshiba\Desktop\5 и все остальные сложенные папки просто копировались не изменяя названия, а файлы находящиеся в этих папках следовали тому же правилу, как и файлы копирующиеся из папки C:\Users\Toshiba\Desktop\5 в папку C:\Users\Toshiba\Desktop\6 (пример использовался скрипт первый раз все файлы, папки и подпапки с файлами из папки C:\Users\Toshiba\Desktop\5 скопировались в папку C:\Users\Toshiba\Desktop\6 с оригинальным названием. (рис. 8, рис. 9) использовался скрипт второй раз все файлы, папки и подпапки с файлами из папки C:\Users\Toshiba\Desktop\5 скопировались в папку C:\Users\Toshiba\Desktop\6 с оригинальным название. Папки находящиеся в папке C:\Users\Toshiba\Desktop\6 (и остальные подпапки) остались с оригинальным названием с ними ничего не произошло. Файлы которые находились в этой папки и подпапках каталога C:\Users\Toshiba\Desktop\6 при совпадении имени в название файлов схожим с копируемыми из папки C:\Users\Toshiba\Desktop\5 и ее подпапок переименовались в **** (1).***. ). *** - это название файла и расширение. (рис. 10, рис. 11). А новые файлы (у которых не было проблем совпадения имен) и папки просто скопировались по своим папкам подпапкам. использовался скрипт в третий раз все файлы, папки и подпапки с файлами из папки C:\Users\Toshiba\Desktop\5 скопировались в папку C:\Users\Toshiba\Desktop\6 с оригинальным название. Папки находящиеся в папке C:\Users\Toshiba\Desktop\6 (и остальные подпапки) остались с оригинальным названием с ними ничего не произошло. Файлы которые находились в этой папки и подпапках каталога C:\Users\Toshiba\Desktop\6 при совпадении имени в название файлов схожим с копируемыми из папки C:\Users\Toshiba\Desktop\5 и ее подпапок переименовались **** (2).***. ). *** - это название файла и расширение. (рис. 12). А новые файлы (у которых не было проблем совпадения имен) и папки просто скопировались по своим папкам подпапкам. использовался скрипт в четверый раз все файлы, папки и подпапки с файлами из папки C:\Users\Toshiba\Desktop\5 скопировались в папку C:\Users\Toshiba\Desktop\6 с оригинальным название. Папки находящиеся в папке C:\Users\Toshiba\Desktop\6 (и остальные подпапки) остались с оригинальным названием с ними ничего не произошло. Файлы которые находились в этой папки и подпапках каталога C:\Users\Toshiba\Desktop\6 при совпадении имени в название файлов схожим с копируемыми из папки C:\Users\Toshiba\Desktop\5 и ее подпапок переименовались **** (3).***. ). *** - это название файла и расширение. А новые файлы (у которых не было проблем совпадения имен) и папки просто скопировались по своим папкам подпапкам. и так далее, это может продолжаться до бесконечности.) 7) Если это легко реализуемо, если трудне (не парься). При первом втором, третьем, четвертом и так далее использовании скрипта если файл уже присутствует в конечной папке заместо (в названии файла 1 (1).txt, 1 (2).txt, 1 (3).txt, 1 (4).txt, 1 (5).txt, 1 (6).txt и так далее.) указывалось так *** - дата_создания_файла.***, кототорая браласьбы из свойства файла (рис. 13), (пример файлы папке C:\Users\Toshiba\Desktop\5 были созданы 22.11.2017 и имеют название 1,2,3,4,5,6,7,8,9, после применение скрипта должно получиться в папке C:\Users\Toshiba\Desktop\6 - 1 - 22.24.2017, 2 - 22.24.2017, 3 - 22.24.2017, 4 - 22.24.2017, 5 - 22.24.2017, 6 - 22.24.2017, 7 - 22.24.2017, 8 - 22.24.2017, 9 - 22.24.2017. то есть так как эти файлы которые надо было скопировать у же находились в копируемой папке с темже название, они переименовались в их название + дата их создания. А файлы тз папки C:\Users\Toshiba\Desktop\5 просто скопировались в папку C:\Users\Toshiba\Desktop\6 с оригинальным названием.) *** - это название файла и расширение. *** Может я опять все както скомкано объяснил на старался разложить все по полочкам //////////////////////////////// Вот эти 2 кода:
@echo off
//////////////////////////////// Этот код меня тоже не устраивает:
0
|
|||||||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 39
|
|
| 24.11.2017, 17:32 [ТС] | |
|
Буду ждать ответ
Добавлено через 4 часа 53 минуты Прости что не правильно вставил код, я не до конца разобрался с редактором
0
|
|
|
6671 / 2264 / 346
Регистрация: 10.12.2013
Сообщений: 7,827
|
||
| 24.11.2017, 17:45 | ||
|
но дело, мне кажется, не в этом, а в неудачном подходе к решению. Для задач сохранения информации в файлах существуют программы резервного копирования ( backup ). Примени их к каталогу загрузки и забудь про все эти ужасы переименований. Добавлено через 3 минуты ( простейшей формой резервного копирования являются архиваторы zip, 7zip, rar итд )
0
|
||
|
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 39
|
|
| 24.11.2017, 17:49 [ТС] | |
|
Модешь посмотреть на первой странице, есть код и описание того что требуется в самом низу страницы, самый первый код почти подходит, но не доконца. (Можешь подсказать программу для моего конкретного случая.)
Добавлено через 2 минуты Внизу на первой странице все написано, почему я не могу делать это архиватором или еще каким либо способом.
0
|
|
|
6671 / 2264 / 346
Регистрация: 10.12.2013
Сообщений: 7,827
|
||
| 24.11.2017, 17:59 | ||
|
я догадываюсь, конечно, что твоя интеллектуальная мощь и громадный опыт в сфере IT значительно превосходят тот багаж, который накопило в этой же сфере человечество к 18-му году 21-го века, но попробуй всё же присмотреться к последнему, а вдруг ... ?
0
|
||
|
0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 39
|
|
| 24.11.2017, 18:03 [ТС] | |
|
Номер поста про который я писал 15. А можешь объяснить что ты имеешь дальше. Можешь подскажать а как написать сообщение лично пользователю.
0
|
|
| 24.11.2017, 18:03 | |
|
Помогаю со студенческими работами здесь
20
Копирование с переименованием и заменой файлов в каталоге назначения
Копирование файлов с FTP-сервера на компьютеры клиентов без замены уже имеющихся файлов
Копирование с переименованием файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|