|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Скопировать файлы из папок по определенному названию |
|
|
CMD/BAT - Скопировать файлы из папок по определенному названию
|
Новый участник Сообщения: 7 |
Профиль | Отправить PM | Цитировать Здравствуйте!
Можете подсказать, как реализовать следующее: Есть папка С:\Nodes, в ней одна или несколько папок такого формата - RU.*.* Нужно пройтись по каждой такой папке и внутри из папки Config скопировать файлы config.xml. И разложить эти файлы так: на С:\backup, здесь для каждого файла создавать папку с тем же названием RU.*.* (то есть название папки такое же, как то откуда мы его взяли). Надеюсь, всё понятно написано) Заранее благодарю за помощь. |
|
Отправлено: 14:48, 14-10-2016 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
Последний раз редактировалось alpap, 15-10-2016 в 00:08. Отправлено: 23:50, 14-10-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать |
------- Последний раз редактировалось megaloman, 15-10-2016 в 18:38. Отправлено: 08:53, 15-10-2016 | #3 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать alpap, ошибка: Синтаксическая ошибка в имени файла, имени папки или метке тома.
|
Отправлено: 12:49, 18-10-2016 | #4 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать megaloman, спасибо, всё работает. А не могли бы Вы пояснить, какой параметр за что отвечает, я новичок в этом деле.
Просто мне еще нужно по аналогии запрограммировать обратную операцию - восстановление. Хотелось бы разобраться. Кроме этого нарисовались еще условия: для каждого запуска скрипта записывать всё в отдельный лог-файл. И еще: при каждом запуске скрипта на С:\backup будет создаваться папка с названием - текущая дата и время, а в нее уже будут писаться папки Ru.*.* . С этим разобралась. Соответственно при восстановлении (другой скрипт) пользователю должен вывестись список всех таких папок, пользователь должен выбрать ту, которая ему нужна, и далее уже восстановление файлов Config.xml Жду посильной помощи) Спасибо! |
|
Отправлено: 13:05, 18-10-2016 | #5 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать JKop, Пользователь входит в систему под своим уникальным именем? Мне не нравится идея выбора пользователем имени папки при восстановлении.
|
------- Отправлено: 13:36, 18-10-2016 | #6 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать megaloman, нет, не под уникальным. А чем не нравится?
|
Отправлено: 13:59, 18-10-2016 | #7 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать JKop, Я не очень представляю как сделать красиво и надёжно выбор. И выбор пользователем - это всегда путь к конфликту из-за возможного неверного выбора. Да еще Вы хотите иметь файлы за разные даты и время. Вот решение с организацией папок по дате-времени и ведением лог-файла.
@Echo Off Set "InMask=C:\Nodes\Ru.*.*" Set "InFile=Config\Config.xml" Set "OutDir=C:\Backup" Set "Log=%~dpnx0.log" Set "OutDir=%OutDir%\%Date%_%Time::=-%" FOR /F "usebackq delims=" %%d IN (`Dir "%InMask%" /A:D /B /S 2^>nul`) DO ( If Exist "%%d\%InFile%" ( Md "%OutDir%\%%~nxd" 2>nul Copy "%%d\%InFile%" "%OutDir%\%%~nxd\" >nul && Echo "%%d\%InFile%" ---^> "%OutDir%\%%~nxd\" >>"%Log%" ) ) |
------- Последний раз редактировалось megaloman, 18-10-2016 в 18:41. Отправлено: 15:43, 18-10-2016 | #8 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать megaloman, не пойму, запускаю скрипт, ничего не происходит. Почему в коде появился диск Z: - поменяла на С:
|
Отправлено: 15:59, 18-10-2016 | #9 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать JKop, Виноват! У меня для отладки существует диск Z: , а Вам надо C:. Я в спешке выпустил это из виду. Плюс еще допустил погрешности. Я исправил скрипт, возьмите именно его, испытайте.
|
------- Отправлено: 18:38, 18-10-2016 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - как скопировать файлы из EXT2 в NTFS? | Victor75 | Общий по Linux | 10 | 28-03-2014 01:11 | |
CMD/BAT - скопировать из удаленнего компьютера состоящией в рабочей группе файлы | j-kidd999 | Скриптовые языки администрирования Windows | 0 | 19-08-2013 13:54 | |
CMD/BAT - Скопировать все файлы из одного каталога в другой | Pavelnt | Скриптовые языки администрирования Windows | 5 | 10-03-2013 07:08 | |
CMD/BAT - [решено] Создать подкаталоги, и скопировать файлы из корневого каталога по подкаталогам. | grinsen | Скриптовые языки администрирования Windows | 2 | 18-11-2010 13:48 | |
Разное - [решено] Windows зависает при попытке скопировать файлы по сети | 7human7 | Microsoft Windows 7 | 0 | 05-10-2010 21:10 |
|