С Новым годом! Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/55: Рейтинг темы: голосов - 55, средняя оценка - 4.56
3 / 3 / 0
Регистрация: 19.04.2013
Сообщений: 64

Скопировать файлы без структуры папок по маске

16.02.2017, 16:07. Показов 12434. Ответов 44
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите с командой.
Есть исходная папка с подпапками, из нее надо скопировать файлы по маске не старше 2х дней в конечную папку.
Есть команда
robocopy "c:\i_exe" "c:\ошибки" *В-М*.xml /maxage:2 /S
она копирует файлы правильно, но с каталогами
как ее изменить, чтобы все файлы сокпировались в корень папки c:\ошибки без каталогов?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.02.2017, 16:07
Ответы с готовыми решениями:

Копирование структуры папок и файлов по маске
Добрый день, перекопал форум но так и не допер как это сделать(( Задача такая: Есть папка d:\work в ней куча проектов - и файлы...

Скопировать на FTP-сервер файлы по маске
Привет всем. Нужно скопировать на фтп файлы по маске. Но что то не получается первый файл копирует, а остальные нет. файл 1.bat ftp...

Скопировать в папке файлы из подкаталога без каталога
Есть папка D:\FPS\papka_in в которой есть еще одна папка, имени которой я незнаю(имя каждый раз разное). Нужно файлы из этой подпапки...

44
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
16.02.2017, 16:13
попробуй поставить команду FORFILES в набор цикла for,а команду копирования после DO .
0
3 / 3 / 0
Регистрация: 19.04.2013
Сообщений: 64
16.02.2017, 16:14  [ТС]
можете написать команду?
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
16.02.2017, 16:27
http://ab57.ru/cmdlist/forfiles.html
Примерно будет выглядит так:
Windows Batch file
1
for %%a in ('forfiles с нужными параметрами') do copy "%%a" куда копировать
Добавлено через 4 минуты
Или даже без цикла можно копировать)

Добавлено через 4 минуты
Ну да.Там в справке написано.МОжно и без цикла.Он и так сделает команду для каждого найденного файла по заданому пути.
0
3 / 3 / 0
Регистрация: 19.04.2013
Сообщений: 64
16.02.2017, 16:34  [ТС]
for %%a in (forfiles /p "c:\i_exe" /m *В-М*.xml /s /d -2) do copy "%%a" "c:\ошибки"
пишет что файл не найден и ничего не копирует
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
16.02.2017, 17:14
Цикл не нужен
Выглядит это примерно так.Только Вам надо еще дату прописать.
Windows Batch file
1
forfiles /m *.jpg /s /c "cmd /c copy @path 0x22%USERPROFILE%\desktop\papka 10x22"
0x22-это символ кавычки,что бы в случаи пробела в пути не вылезла ошибка.
0
3 / 3 / 0
Регистрация: 19.04.2013
Сообщений: 64
16.02.2017, 17:30  [ТС]
forfiles /p "c:\i_exe" /m *СЗВ-М*.xml /s /d -2 /c "cmd /c copy @path c:\ошибки"

вот так копирует все в одну папку но игнорирует дату в 2 дня. почему?
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
16.02.2017, 18:32
Ха.А вот это я хз.
Я понял только про даты.
Если мы хотим вывести на экран те файлы которые были изменены до 14 числа.То ставим -14.02.2017
Если мы хотим вывести файлы которые были изменены после 14 числа.То ставим +14.02.2017
А вот с плюс и минус днями я что то не могу понять работу.

Добавлено через 7 минут
Похоже на корявую работу команды )Видимо она считает,что -1 день это тоже самое,что -15.02.2017.И выводит все измененные файлы до этого числа.А если ставить например дату 15.02.2017,то команда выдает файлы измененные от 15.02 до сегодняшней даты.
0
 Аватар для b0gus
739 / 337 / 134
Регистрация: 17.03.2014
Сообщений: 839
16.02.2017, 18:41
Цитата Сообщение от ZoOoO Посмотреть сообщение
А вот с плюс и минус днями я что то не могу понять работу.
Windows Batch file
1
forfiles/?
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/D  <дата>   Выбор файлов, у которых дата последнего изменения
                    больше или равна (+) либо меньше или равна
                    (-) указанной дате при использовании формата
                    "dd.MM.yyyy";
                    
                    либо файлов, у которых дата  последнего
                    изменения больше или равна (+)
                    текущей дате плюс "dd" дней либо меньше или
                    равна (-) текущей дате минус "dd" дней.
                    
                    Допустимым числом дней "dd" является любое
                    число в диапазоне 0 - 32768.
                    
                   "+" используется по умолчанию, если знак не указан.
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
16.02.2017, 19:21
Это я уже час читаю.На практике фигня получается.
-3 дня это те фалы которые были изменены за последнии три дня от текущей даты(Вот пример:
forfiles /P %TEMP% /M *.log /D -3 /C "cmd /c if @isdir==FALSE notepad.exe @file" - открыть в блокноте файлы с расширением .log из каталога временных файлов, изменившиеся за последние 3 дня.ВЗят от сюда:http://ab57.ru/cmdlist/forfiles.html).То есть другими словами,выводятся те файлы которые были изменены за последнии три дня.А на практике выводятся и те которые были изменены и за 4 день и за пятый.

Добавлено через 5 минут
Сами попробуйте на практике вывести дату сегодняшнего файла поставив плюс или минус.

Добавлено через 2 минуты
Для него что -2 дня ,что -14.02.2017 это одно и тоже.

Добавлено через 3 минуты
а +2 дня для него в обще не существует.Да и как файл с датой создания 18.02.2017 может существовать 16 февраля 2017 года.

А если самому отнять от сегодняшней даты два дня и установить 14.02.2017.То он выведет те файлы которые были изменены от выставленной даты до сегодняшней(текущей).

Добавлено через 9 минут
Можно конечно написать код который сам вычитает из сегодняшней даты 2 дня,а потом получившееся число поместить в команду.А сам код разместить в начале файла.Но на сколько я помню,смд не умеет складывать даты.Была тут одна тема,если помните,человек просил написать ему код который бы отнимал 10.000 дней от сегодняшней даты.У меня такой код получился на хз сколько строчек.А в Power Shell он выглядил в одну строку.Поэтому обладая сегодняшними знаниями ,я бы первую строку с определением даты взял бы из power shell ,а копирование оставил бы батнику.Но возможно у PS такой проблемы изначально бы и не было.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
16.02.2017, 19:25
petademon,
вы в своем п5 сделали почти правильно, только не тот for применили:
Windows Batch file
1
for /f "delims=" %%a in ('forfiles /p "c:\i_exe" /s /m "*СЗВ-М*.xml" /d -2 /c "cmd /c echo @path"') do copy "%%a" "c:\ошибки"
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
16.02.2017, 19:29
alpap
Не работает!Он не копирует файлы с датой изменения за два дня.У нас не получается скопировать именно те файлы которые создавались за последние два дня.
0
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,212
16.02.2017, 20:14
Цитата Сообщение от ZoOoO Посмотреть сообщение
Он не копирует файлы с датой изменения за два дня. У нас не получается скопировать именно те файлы которые создавались за последние два дня.
Тут главное не запутаться, создание и изменение - это две большие разницы...

- и это не фотошоп, если что
1
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
16.02.2017, 20:33
Вы тут справки показываете,картинки грузите.Время виндовс изменяете.А вы лучше скопируйте нужные файлы с помощью forfiles.Не работают эти минусы и плюсы.У меня есть файл который изменен 15.02.2017 года и 16.02.2017 года.Не копируются они.Копируются вместе с 15.02 и те которые изменены 12.02.2017 года.Так что лучше скопируйте,а то что вы пишите,я знаю.
0
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,212
16.02.2017, 20:38
ZoOoO,
Что-то я не вполне понял - у Вас какие-то претензии? Ну, так и разбирайтесь со всем этим самостоятельно... зачем на форуме что-то спрашивать, если обладаете всеми необходимыми знаниями? Телепатов тут отродясь не видел.
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
16.02.2017, 20:50
YuS_2
Претензия тут одна)Зачем Вы мне картинки шлете.Когда вопрос стоит в том,что сама команда не работает.Она у вас копирует?Нет.Зачем тогда слать картинки?Если копирует,то почему?

Напишите скрипт.Поместите в папку со скриптом файлы измененные не сегодняшним числом.И поместите файл измененный сегодня.И пробуйте с помощью минусов и плюсов вывести измененный файл.У меня он не выводится.Хотя по справке должно все работать.Вот и интересно.Это мой косяк или косяк самой программы.
0
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,212
16.02.2017, 20:55
Цитата Сообщение от ZoOoO Посмотреть сообщение
Она у вас копирует?Нет.Зачем тогда слать картинки?
Сам спросил, сам ответил и сам же выставил претензию - интересная манера диалога, направленного на получение помощи.
Но если перечитаете ещё раз то, что я процитировал, тогда поймете почему я картинку показал, причем с поясняющим текстом.
Подсказка: У Вас в двух предложениях, идущих подряд, говорится и об измененных файлах, и о созданных. Каким там кодом Вы пытаетесь, что-либо копировать - мне неизвестно. Одно могу сказать точно, команда forfiles работает так, как описано у неё во встроенной помощи.
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
16.02.2017, 20:59
Диалог не о чем.Надеюсь модератор почистит все это.Если Вам интересно узнать ,прав ли я.То Вы можете сами попробывать осуществить то что я написал.
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
16.02.2017, 21:00
Там скрипт и файлы.Если что ,то у меня семерка стоит.МОжет быть в 10 сработает.
Вложения
Тип файла: rar Новая папка (4).rar (1.4 Кб, 10 просмотров)
0
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,212
16.02.2017, 21:04
Цитата Сообщение от ZoOoO Посмотреть сообщение
Это я уже час читаю.На практике фигня получается.
-3 дня это те фалы которые были изменены за последнии три дня от текущей даты
Просто внимательней прочитайте помощь:
либо файлов, у которых дата последнего изменения больше или равна (+) текущей дате плюс "dd" дней либо меньше или равна (-) текущей дате минус "dd" дней.
- тут выделены ключевые слова, которые следует читать относительно ключа /d -2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.02.2017, 21:04
Помогаю со студенческими работами здесь

Открыть файлы из вложенных папок по маске (Mapbasic)
Есть папка в ней несколько подпапок в которых есть файлы Помогите написать код Mapbasic так, чтобы открыть файлы (или вывести диалоговое...

Скопировать файлы из папки в папку по маске
Всем привет! Использую cmd Подскажите, пожалуйста, как написать запрос, чтобы скопировать все файлы из одной папки в другую с...

Как скопировать файлы по маске в папку?
Люди, помогите решить задачу: из задаваемой пользователем папки нужно скопировать все файлы по маске (пример 'arj') в папку c:vrem. Никак...

Как скопировать/удалить файлы в директории по маске?
Добрый день. Подскажите, пожалуйста, как можно скопировать-удалить (переместить) файлы _по маске_ из одной папки в другую? Пробовал так: ...

Найти и скопировать в отдельную папку все файлы по маске
Всем здравствуйте, Необходимо чтобы файлы, находящиеся в одной папке (и подпапках) с рабочей книгой, находились по маске и...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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 с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru