![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Создать копию (дубль) файла в подпапках |
|
CMD/BAT - Создать копию (дубль) файла в подпапках
|
Ветеран Сообщения: 900 |
Здравствуйте.
Пожалуйста, научите, как при помощи cmd/bat файла сделать копию файла с точным названием с подпапках? Например, есть много папок, в этих папках есть подпапки, в каждой из подпапок есть один и тот же файл с точным названием, например Вася.doc 1) Нужно в файле cmd/bat задать имя исходного файла Вася.doc 1) Нужно в файле cmd/bat задать путь-корень, например C:\Root\ 3) Запустить cmd/bat файл 4) На выходе в каждой подпапке внутри папки C:\Root\ будет создан файл Вася - копия.doc Структура такая: C:\Root\Привет 1\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 1\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 1\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 1\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552.doc ... C:\Root\Привет 2\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 2\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 2\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 2\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552.doc ... C:\Root\Привет 3\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 3\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 3\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 3\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552.doc ... Черным, жирным выделил то, что меняется - это название папок На выходе хочется так C:\Root\Привет 1\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 1\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc C:\Root\Привет 1\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 1\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc C:\Root\Привет 1\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 1\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc C:\Root\Привет 1\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 1\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc ... C:\Root\Привет 2\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 2\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc C:\Root\Привет 2\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 2\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc C:\Root\Привет 2\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 2\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc C:\Root\Привет 2\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 2\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc ... C:\Root\Привет 3\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 3\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc C:\Root\Привет 3\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 3\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc C:\Root\Привет 3\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 3\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc C:\Root\Привет 3\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552.doc C:\Root\Привет 3\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc ... Спасибо. |
|
Отправлено: 20:29, 30-06-2020 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
Отправлено: 20:45, 30-06-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 900
|
Профиль | Отправить PM | Цитировать alpap
Здравствуйте. В программе AkelPad поправил код, выглядит так (кодировка 866) - файл 1.cmd @echo off set "d=H:\Sort\Новая папка\2020-06-30_Л" set "fi=2020_Лст_о_30 января 2020 г. № 15_552.doc" set "fo=2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc" for /d /r "%d%" %%d in ("*") do >nul copy /y "%fi%" "%%d\%fo%" pause Приношу извинения, если не корректно не упомянул про русские буквы в названии папок, русские буквы в имени папок и файлов, пробелы и так далее, хотелось бы как написал в этом коде структуру set "d=H:\Sort\Новая папка\2020-06-30_Л" set "fi=2020_Лст_о_30 января 2020 г. № 15_552.doc" set "fo=2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc" H:\Sort\Новая папка\2020-06-30_Л\Привет 1\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 1\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 1\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 1\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552.doc ... H:\Sort\Новая папка\2020-06-30_Л\Привет 2\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 2\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 2\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 2\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552.doc ... H:\Sort\Новая папка\2020-06-30_Л\Привет 3\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 3\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 3\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 3\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552.doc ... Черным, жирным выделил то, что меняется - это название папок На выходе хочется так H:\Sort\Новая папка\2020-06-30_Л\Привет 1\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 1\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 1\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 1\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 1\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 1\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 1\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 1\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc ... H:\Sort\Новая папка\2020-06-30_Л\Привет 2\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 2\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 2\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 2\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 2\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 2\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 2\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 2\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc ... H:\Sort\Новая папка\2020-06-30_Л\Привет 3\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 3\Папка-1\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 3\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 3\Папка-2\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 3\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 3\Папка-3\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 3\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552.doc H:\Sort\Новая папка\2020-06-30_Л\Привет 3\Папка-4\2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc ... |
Последний раз редактировалось SharkyEXE, 30-06-2020 в 21:00. Отправлено: 20:51, 30-06-2020 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать SharkyEXE, временно уберите «>nul» и добавьте «rem» перед «@echo off» и посмотрите, что не так.
|
Отправлено: 21:04, 30-06-2020 | #4 |
Ветеран Сообщения: 900
|
Профиль | Отправить PM | Цитировать Iska
Здравствуйте Пишет, Не удаётся найти указанный файл При этом файл 2020_Лст_о_30 января 2020 г. № 15_552.doc 200% есть в папках Я может быть соовсем не так написал, просто по моей идее надо заходить в подпапку и внутри подпапки копировать файл 2020_Лст_о_30 января 2020 г. № АЛ-15_552.doc как 2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc Выйти из подпапки Потом заходить в другую подпапку ниже и внутри подпапки копировать файл 2020_Лст_о_30 января 2020 г. № АЛ-15_552.doc как 2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc Выйти из подпапки Потом заходить в другую подпапку ниже и внутри подпапки копировать файл 2020_Лст_о_30 января 2020 г. № АЛ-15_552.doc как 2020_Лст_о_30 января 2020 г. № 15_552 - копия.doc ... Да, еще - у автора кода изначально исходное имя файла - указано как путь set "fi=C:\Вася.doc" Мне же надо указать просто исходное имя файла включая расширение set "fi=Вася.doc" (без C:\) PS. Вроде как помогло - изменения выделил Было for /d /r "%d%" %%d in ("*") do >nul copy /y "%fi%" "%%d\%fo%" Стало for /d /r "%d%" %%d in ("*") do >nul copy /y "%%d\%fi%" "%%d\%fo%" Рабочий код |
|
Последний раз редактировалось SharkyEXE, 30-06-2020 в 21:29. Отправлено: 21:06, 30-06-2020 | #5 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать |
Последний раз редактировалось Fors1k, 30-06-2020 в 21:33. Отправлено: 21:24, 30-06-2020 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Как создать резервную копию windows 8? | welcome2013 | Microsoft Windows 8 и 8.1 | 1 | 15-08-2013 11:21 | |
CMD/BAT - Если файл обновился то создать его копию | Sasha_vinni | Скриптовые языки администрирования Windows | 1 | 09-04-2013 19:45 | |
7 / 2008 R2 - [решено] Как создать предустановленную копию Windows | Wolfness | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 3 | 25-03-2013 21:02 | |
2008 R2 - wbadmin не могу создать резервную копию | es5ape | Windows Server 2008/2008 R2 | 4 | 05-10-2011 21:27 | |
CMD/BAT - [решено] Назвать архив названием файла | айкот | Скриптовые языки администрирования Windows | 8 | 23-09-2011 17:23 |
|