Сегодня я хочу поделиться с вами одним из приемов копирования файлов. Бывает ситуация, когда нужно найти и скопировать определённые файлы на компьютере, конечно, можно воспользоваться поиском, но это не всегда удобно и приемлемо. Например, нам нужно скопировать все файлы с расширением txt удаленно или просто через консоль, тогда и приходит на помощь данный метод: нужно открыть терминал (Пуск -> Выполнить и набрать cmd), после чего набрать команду для рекурсивного копирования файлов (xcopy) и передать ей параметр S, благодаря которому не будут копироваться пустые папки.
xcopy /S "C:\*.txt" F:\txt_files\
Так же данный метод копирования позволяет сохранить файлы с одинаковым именем, так как копируется и иерархия папок. У команды xcopy несколько больше возможностей, задаваемых параметрами ее вызова. Полный список параметров и их описание можно найти в справке по команде, набрав в терминале help xcopy. Аналогичные действия можно выполнить и в ОС Linux, арсенал которой намного богаче, чем у Windows. В Linux для рекурсивного копирования всех файлов, имеющих расширение txt из указанной папки, необходимо воспользоваться двумя командами: cp - копирование файлов и find - для поиска нужных файлов.
cp -i $(find ./ -name "*.txt") ./txt_files/
Также вы можете указать параметр r для того, чтобы избежать потери дублирующихся файлов и сохранить иерархию папок, как в случае с xcopy в ОС Windows.