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

Обновлено: 02.07.2024

Команда XCOPY используется для копирования файлов и каталогов с сохранением их структуры. По сравнению с командой COPY имеет более широкие возможности и является наиболее гибким средством копирования в командной строке Windows

Формат командной строки:

XCOPY источник [целевой_объект] [/A | /M] [/D[:дата]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/EXCLUDE:файл1[+файл2][+файл3]. ]

Параметры командной строки:

источник - Копируемые файлы.

целевой_объект - Расположение или имена новых файлов.

/A - Копирование только файлов с установленным архивным атрибутом; сам атрибут при этом не изменяется.

/M - Копирование только файлов с установленным архивным атрибутом; после копирования атрибут снимается.

/D:m-d-y - Копирование файлов, измененных не ранее указанной даты. Если дата не указана, заменяются только конечные файлы, более старые, чем исходные.

/EXCLUDE:файл1[+файл2][+файл3]. - Список файлов, содержащих строки с критериями для исключения файлов и папок из процесса копирования. Каждая строка должна располагаться в отдельной строке файла. Если какая-либо из строк совпадает с любой частью абсолютного пути к копируемому файлу, такой файл исключается из операции копирования. Например, указав строку \obj\ или .obj, можно исключить все файлы из папки obj или все файлы с расширением OBJ соответственно.

/P - Вывод запросов перед созданием каждого нового файла.

/S - Копирование только непустых каталогов с подкаталогами.

/E - Копирование каталогов с подкаталогами, включая пустые. Эквивалентен сочетанию ключей /S /E. Совместим с ключом /T.

/V - Проверка размера каждого нового файла.

/W - Вывод запроса на нажатие клавиши перед копированием.

/C - Продолжение копирования вне зависимости от наличия ошибок.

/I - Если целевой объект не существует и копируется несколько файлов, считается, что целевой объект задает каталог.

/Q - Запрет вывода имен копируемых файлов.

/F - Вывод полных имен исходных и целевых файлов.

/L - Вывод имен копируемых файлов.

/G - Копирование зашифрованных файлов в целевой каталог, не поддерживающий шифрование.

/H - Копирование, среди прочих, скрытых и системных файлов.

/R - Перезапись файлов, предназначенных только для чтения.

/T - Создание структуры каталогов без копирования файлов. Пустые каталоги и подкаталоги не включаются в процесс копирования. Для создания пустых каталогов и подкаталогов используйте сочетание ключей /T /E.

/U - Копирование только файлов, уже имеющихся в целевом каталоге.

/K - Копирование атрибутов. При использовании команды XСOPY обычно сбрасываются атрибуты "Только для чтения".

/N - Использование коротких имен при копировании.

/O - Копирование сведений о владельце и данных ACL.

/X - Копирование параметров аудита файлов (подразумевает ключ /O).

/Y - Подавление запроса подтверждения на перезапись существующего целевого файла.

/-Y - Запрос подтверждения на перезапись существующего целевого файла.

/Z - Копирование сетевых файлов с возобновлением.

/B - Копирование символической ссылки вместо ее целевого объекта.

/J - Копирование с использованием небуферизованного ввода/вывода. Рекомендуется для очень больших файлов.

Ключ /Y можно установить через переменную среды COPYCMD.

Ключ /-Y командной строки переопределяет такую установку.

Примеры использования XCOPY

XCOPY /? - выдать краткую справку по использованию команды.

Что означает D:\copy1:
имя файла или каталога
(F = файл, D = каталог)? D

После ответа D целевой каталог будет создан и копирование будет выполняться в D:\COPY1\. Для подавления запроса на создание целевого каталога используется параметр /I:

xcopy C:\users D:\copy1 /I

xcopy C:\users D:\copy1 /H /Y /C - копирование файлов, включая скрытые и системные, с подавлением запроса на перезапись существующих и возобновлением при ошибке. Если существующий в целевом каталоге файл имеет атрибут "Только чтение", то копирование не выполняется. Для перезаписи таких файлов используется ключ /R

xcopy C:\users D:\copy1 /H /Y /C /R /S - скопировать все файлы и подкаталоги ( /S ) с перезаписью существующих без запроса ( /Y ) , включая скрытые и системные. ( /H ) с перезаписью файлов с атрибутом "Только чтение" (/R) и игнорированием ошибок ( /C )

xcopy C:\users D:\copy1 /H /Y /C /R /S /EXCLUDE:C:\users\listnotcopy.txt - то же, что и в предыдущем случае, но текстовый файл C:\users\listnotcopy.txt задает признаки исключения из процедуры копирования. Пример содержимого файла:

\User1\ - исключить из копирования каталог C:\users\user1
All Users исключить из копирования каталог C:\users\All Users
de*.* - исключить из копирования все файлы и каталоги, начинающиеся на буквосочетание "de"

xcopy C:\users\*.exe D:\copy1 /H /Y /C /R /S /EXCLUDE:C:\users\listnotcopy.txt - то же, что и в предыдущем примере, но выполняется только копирование исполняемых файлов с расширением .exe .

xcopy %TEMP%\*.ini D:\copy1\ini /H /Y /C /R /S /I - копирование всех файлов с расширением .ini из каталога временных файлов в каталог D:\copy1\ini\ . Если целевой подкаталог \ini\ не существует, то он будет создан без запроса пользователю ( /I ) .

xcopy %TEMP%\*.ini D:\copy1\ini /H /Y /C /R /S /I /D:09-16-2013 - то же, что и в предыдущем примере, но выполняется копирование только тех файлов, у которых установлена дата изменения 16 сентября 2013 года и старше.

xcopy C:\ D:\copy1\LISTDIR /H /Y /C /R /S /I /E /T - создать структуру папок диска C: в каталоге D:\copy1\LISTDIR . Копирование файлов не выполняется. Копируются только папки, включая пустые, скрытые и системные.

xcopy C:\ D:\copy1\LISTDIR /H /Y /C /R /S /I /E /T /D:09-16-2013 воссоздать в каталоге D:\copy1\LISTDIR структуру папок диска C: , с датой изменения 16 сентября 2013 года и позже.

Для добавления новых файлов в каталоги и обновления существующих на более поздние версии, можно использовать команду REPLACE.

Автор оригинального топика предлагает решить задачу в лоб — а именно, скопировать все файлы а потом удалить не нужные. Это может быть неплохим решением, если вам, конечно, не нужно скопировать всю домашнюю папку на флешку, за исключением вашей коллекции видео.

Но главная проблема этого подхода в другом — он не соответствует идеологии unix: сложные задачи решаются комбинацией простых утилит.

Под катом подробности о методах решения этого класса задач — не рассматривайте это как готовый рецепт.

0. Декомпозиция

Решение любой комплексной задачи начинается с разбора её на составные части. Итак нам нужно скопировать некоторый набор файлов предварительно его отфильтровав.
Значит — получение списка файлов, фильтрация, копирование.

1. Получение списка файлов

Обычно мы просматриваем список файлов программой ls. Её вывод выглядит примерно так:

Подходит ли там такой вывод? Нет, потому, что в нем недостаточно информации — нам нужно копировать файлы рекурсивно, значит для нас было-бы гораздо удобнее если первая в нашей цепочке программа выдала там имена файлов вместе с путями.

Следующая программа, которая приходит на ум — find

Уже лучше но в вывод попали и директории, а они нам не нужны. Попробуем так:


Вот то, что там нужно. Список файлов.

2. Фильтрация

Этот список файлов нужно отфильтровать. Перенаправим вывод нашей предыдущей комманды в программу grep.


Хорошо, но в условиях задачи стоит исключать файлы, так что немного поменеяем наш конвейер


Первые две части выполнены.

3. Копирование

-n 1 значит, что только одна строка из стандартного ввода подставляется в комманду, а -I % — определяет символ, который будет заменен в целевой комманде на строчку из стандартного ввода. В нашем случае это будет


Можно считать, что задача решена.

Вместо заключения

Я надеюсь что это описание поможет правильно подходить к решению как таких простых так и более комплексных задач.

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

Оказывается, выбор файлов — это своего рода искусство.

Способы выделения файлов

Вот несколько хитрых способов вы­деления нескольких файлов в Проводнике:

1. Поле выделения

Вам нужно выделить блок файлов?

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

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

Выделение файлов

Выделение файлов

2. Клавиатура и мышь

Для выделение серии файлов выделите один файл или значок. Затем, удерживая Shift, щелкните на другом значке в той же папке, чтобы выделить его и все элементы между ними.

Для выбора нескольких элементов, удерживая Ctrl, щелкните на нескольких файлах или папках, чтобы выделить или отменить их выделение.

Вы можете использовать Ctrl для изменения набора выделенных объектов. Если вы использовали Shift или поле выделения для выбора первых пяти файлов в папке, то можете, удерживая Ctrl, выделить дополнительные файлы без потери первоначально выделенных элементов.

Будьте внимательны: при перетаскивании файлов с нажатой Ctrl вы скопируете все файлы.

3. Только клавиатура

Удерживая Ctrl, переходите по файлам при помощи кнопок со стрелками вверх и вниз. Когда окрашенный прямоугольник окружит файл, который вам нужен, нажмите пробел, чтобы выделить его.

Или, чтобы выбрать несколько следующих друг за другом файлов, используйте кнопки со стрелками, чтобы найти первый файл, а затем, удерживая Shift, рас­ширьте выделение при помощи кнопок со стрелками. После этого можно даже воспользоваться Ctrl для выделения и отмены выделения отдельных файлов.

Сочетание клавиш Ctrl+A выделит все файлы.

4. Шаблон или маска файла

В окне Поиск (Search) в правом верхнем углу окна Проводника введите шаблон выбора, чтобы отфильтровать перечень и показать только соответствую­щие ему файлы. Шаблоны файлов, как правило, содержат обычные символы (буквы и цифры) наряду со специальными символами. Например, знак вопроса (?) означает любой одиночный символ. А звездочка (*) любое количество символов соответственно.

Например, введите *. txt, чтобы показать только файлы с расширением .txt, или v. чтобы показать файлы любого типа, имена которых начинаются на v и которые имеют три буквы в имени файла.

Проводник покажет только те файлы, которые совпадают с вве­денным шаблоном на этом этапе вы можете нажать Ctrl+A, чтобы выбрать их все.

Как правило, это работает гораздо быстрее, — не говоря уже о том, что более точ­но, — чем при попытке выделить файлы вручную.

В Windows 7 спецификаций поиска стало гораздо больше. например, стало просто:

Выделение файлов в Total Commander

Вот посмотрите на скриншоте, какие доступны способы выделения:

Выделение по заданному шаблону

Выделить по расширению

Выбрав файл с нужным вам расширением, нажмите сочетание клавиш Alt+Num + (или Alt+Num –), чтобы выделить все файлы с таким же расширением в текущей панели или, соответственно, снять выделение с этих файлов.

5. Флажки

Если вы в дороге одной рукой держите ноутбук, то выделять файлы довольно сложно. В Проводнике нажмите на раскрывающуюся кнопку Упорядочить , выберите Параметры папок и поиска, а затем включите параметр Использовать флажки для выбора элементов. Нажмите OK, и теперь все файлы в папке будут с чекбоксами. Теперь для того, чтобы выбрать файл, достаточно поставить флажок.

выделение файлов

Подробнее об этом способе выделения файлов было здесь.

Ну как, нашли для себя что-нибудь новое? Или, может, знаете еще и другие способы выделения файлов? Поделитесь в комментариях!

Всем доброго времени суток и всяческих прочих разностей.

Небольшая заметка в блог, которая может немного упростить кому-либо жизнь в определенной ситуации, а точнее говоря спасти бесценное времени. Речь идет о ситуации, когда у Вас есть огромное количество подпапок в каждой из которых лежат файлы и все их надо скопировать в одну.

folder

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

Рассказываю как сделать это быстро и просто.

Чтобы Вы поняли о чем идет речь, есть вот такая вот каша из более чем тысячи папок в которых, собственно, тысячи файлов:

множество папок с множеством файлов

Нужно получить на выходе такую вот кашу из всех файлов, но в одной папке:

sdfs dsfd fsd

Можно сделать это консолью, но можно и поступить попроще. Скачиваем Total Commander , запускаем, открываем папку в которой лежат подпапки с папками, т.е верхнюю в структуре:

fds fds sdfsdf

Нажимаем на клавиатуре Ctrl+B , чтобы отобразить все файлы во всех папках и подпапках, одним списком, т.е без папок, т.е содержимое:

sdf sdfsfd sdf

Используя, скажем, мышь или клавишу F5 (копирование) или клавишу F6 (перемещение) копируем в нужную нам папку.

На сим, собственно, всё, такая вот кратенькая заметка.
Авось кому-нибудь пригодится ;)

Белов Андрей (Sonikelf) Заметки Сис.Админа [Sonikelf's Project's] Космодамианская наб., 32-34 Россия, Москва (916) 174-8226

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

Выделение курсором мыши

Выбор одиночного файла

Все просто, наводим курсор на папку или файл и кликаем 1 раз левой кнопкой мыши.

Что делать, если по клику папка не выделяется, а открывается, как это поменять?

На некоторых компьютерах по умолчанию стоит настройка открытия всех элементах не по двойному щелчку, а по одиночному. Если Вас это не устраивает, то настройки следует сменить: заходим в меню «Пуск», открываем панель управления

как открыть панель управления

В ней выбираем пункт «Оформление и персонализация»

После чего открываем «Параметры папок»

параметры-папок

В появившемся окне во вкладке «Общие» изменяем пункт «Щелчки мышью»

Выделение мышью файлов, идущих подряд

Зажав левую кнопку мыши в любом свободном месте и потащив её в какую-то сторону, мы увидим голубой прямоугольник, который показывает, какие файлы будут выделены после того, как мы отпустим левую кнопку мыши:

выделение-курсором

Такой способ удобен, если нужно выделить несколько расположенных рядом файлов или же все файлы, когда их немного. Но что делать, если нам нужно обозначить большое количество файлов, например, выделить все фотографии с отпуска, которых 500 штук в папке? Можно, конечно, и вышеописанным способом: тянуть прямоугольник до упора, но это же так неудобно!

Выделение всех файлов папки горячими клавишами

На помощь нам приходит моментальный выбор абсолютно всех элементов, находящихся в папке, — горячие клавиши на клавиатуре CTRL+A (английская)

клавиши

После их нажатия, активными становятся всё, что находится в открытой папке.

Выборочное выделение файлов

Команда Ctrl+A действительно удобна, если нужно выделить большое количество элементов. но что делать, если у нас 500 файлов, а нужно выделить только 498? Или же из 10 файлов необходимо выбрать те, что под номерами 2,6,7 и 9, обычный прямоугольник тут не справится, а производить операции (например, копирование) над отдельным файлами слишком долго.

Выделение с Ctrl отдельных файлов

Щелчок по файлу сделает активным только этот файл, если мы кликнем на другой, то старое выделение компьютер тут же «забудет» и активным будет только последний файл. Зажатый Ctrl позволяет выделять щелчком мыши сколько угодно файлов.

выделение-файлов-ctrl

Зажатый CTRL с щелчком мыши не только выделяет файл, но может и снимать с него выделение, если кликнуть на него повторно.

Ctrl можно зажимать не все время, а только во время самого клика.

Выделение с Shift файлов, идущих подряд

Рассмотрим другой вариант, когда нужно выделить из 500 файлов только те, что под номерами 5,6,7,8,9,10. Можно использовать стандартный способ выделения прямоугольником, удерживая левую кнопку мыши. А можно пойти другим путем, который отлично подходит для выделения файлов, идущих подряд: выделяем первый идущий файл, в нашем примере он под номером 5, а затем, зажав SHIFT кликаем по последнему файлу, то есть под номером 10. В результате все файлы, находящиеся между этими двумя будут выделены

выделить-с-shift

Выделение нескольких групп файлов с помощью CTRL и SHIFT

Рассмотрим последний вариант: что делать, если нужно выделить из нашей горы файлов не просто с пятого по десятый, но так же с тридцатого по сороковой. Мы уже знаем, что Ctrl позволяет выделять сразу файлы, не идущие подряд, а Shift наоборот выделяет группы файлов, находящиеся рядом. Использование двух клавиш позволит нам выделить несколько групп, как показано ниже:

выделение-файлов

  1. Выделяем первую группу, повторяя описанную выше процедуру с зажатым шифтом: нажимаем левой кнопкой мыши первый файл группы (под номером 5), с зажатой клавишей SHIFT выделяем последний (номер 10)
  2. Теперь приступаем к выделению второй группы: отпускаем Shift, зажимаем теперь CTRL и кликаем на первый файл второй группы (номер 30, например)
  3. Важно: не отпуская CTRL, зажимаем и SHIFT и кликаем левой кнопкой мыши на последний файл второй выделяемой группы (номер 40)

Таким способом можно выделить сколько угодно групп, а используя CTRL и клики по одиночным файлам — исключать или включать дополнительно в список отдельные документы.

Читайте также: