Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 28.04.2011
Сообщений: 44

Копирование файлов по константе в имени

13.06.2017, 13:01. Показов 1503. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Есть каталог с бекапами баз условно боевые и тестовые, в именах файлов боевых баз присутствует дата и константа prod(2017.06.13_Prod_Data.bak или 2017.06.13_Prod_TDB.bak и.т.д.) в тестовых дата и test. Есть конструкция перемещающая файлы в резервное хранилище и удаляет из текущего если файл уже есть в хранилище.

Windows Batch file
1
forfiles -p %in% -m *.bak -d -13 -c "cmd /c if not exist %out1%\@file (xcopy %in%\@file %out1%) else (del /F /Q %in%\@file)"
Возможно ли изменить конструкцию таким образом что бы бекапы разных контуров копировались в разные папки? Или есть другой вариант?

ЗЫ: Как формировать имя файла с датой знаю, вариант сформировать все имена и запустить проверку для каждого файла громоздкий и не универсальный.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.06.2017, 13:01
Ответы с готовыми решениями:

Копирование: Ввод имени папки и копирование из нее файлов
Доброго времени суток! Реально ли реализовать подобное с помощью bat ? Знаю, что можно создать папку с именем, которое можно задать. ...

Копирование файлов с пробелами в имени
Здравствуйте. использую бат файлы в домене что бы при входе копировался ярлык. Вот прииер: @echo on set...

Копирование файлов по части имени
Всем привет! В папке лежат файлы с названиями: 74995551488_in_2014_11_17-10_11_40_74953800926.mp3 ...

7
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
13.06.2017, 15:13
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo off
for /f "delims=" %%a in ('dir /a-d/b "*.bak"') do (
 echo "%%a"|>nul find /i "Prod" && (
  if not exist "Prod" md "Prod"
  rem команда forfiles с файлами %%a
  copy "%%a" "Prod\%%a"& rem Для примера
 ) || (
  echo "%%a"|>nul find /i "Test" && (
   if not exist "Test" md "Test"
   rem команда forfiles с файлами %%a
   copy "%%a" "Test\%%a"& rem Для примера
  )
 )
)
pause
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
13.06.2017, 15:24
а не проще два раза выполнить forfiles с разными масками ("*_Prod_*.bak" и "*_Test_*.bak") попутно создавая нужные папки.
0
0 / 0 / 0
Регистрация: 28.04.2011
Сообщений: 44
13.06.2017, 15:26  [ТС]
Идеально. Спасибо!

Добавлено через 2 минуты
Цитата Сообщение от alpap Посмотреть сообщение
а не проще два раза выполнить forfiles с разными масками ("*_Prod_*.bak" и "*_Test_*.bak") попутно создавая нужные папки.
forfiles не работает с маской по имени файлов, пишет не найдены файлы при такой настройке (
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
13.06.2017, 15:27
понятно, а dir берет такую маску без проблем.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
13.06.2017, 15:35
да и forfiles берет, только что на своих txt проверил:
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
13.06.2017, 15:39
Цитата Сообщение от hks-msk Посмотреть сообщение
пишет не найдены файлы
а не найдены они у вас потому что при втором запуске они не в категории ключа -13, вот уберите его для проверки и все будет найдено и также будет найдено и с ключем, когда их (следующих, подпадающих под срок) время придет.
0
0 / 0 / 0
Регистрация: 28.04.2011
Сообщений: 44
13.06.2017, 15:44  [ТС]
Мне жутко стыдно, но я забыл двойные кавычки указать "

forfiles -p %in% -m "*Prod*.bak" -c "cmd /c if not exist %out1%\@file (xcopy %in%\@file %out1%) else (del /F /Q %in%\@file)"

Действительно работает! Спасибо за решение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.06.2017, 15:44
Помогаю со студенческими работами здесь

Поиск и копирование файлов по имени
Всем привет! Прошу совета в написании скрипта. В общем лежат в каталоге куча файлов, с именами типа: O-0001-test.xml ...

CMD. Копирование файлов в цикле с заменой символов в имени
Всем привет. Почта уверен что уже было много раз. Пока ничего не нашел. Прошу помощи. Есть папка С:\Папка1\ В ней лежат...

Копирование файлов при совпадении названия в имени файла
Добрый день. Помогите создать bat файл. Есть больщая папка с множеством в ней других вложенных папок и файлов. В могут содержаться файлы с...

Проверка имени по адресу. Копирование с переименованием. Архивирование ненужных файлов
Добрый день всем! я каждый день сталкиваюсь с большой рутинной операцией проверить много файлов на соответствие названий,заархивировать...

Копирование в буфер обмена части имени файлов (Total Commander)
Здравствуйте, в Total Commander есть инструмент копирования имён выделенных файлов в буфер. Возможно ли посредством скриптов или...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru