Bat-файл для копирования файлов из папки в папку

Обновлено: 18.05.2024

Скопируйте один или несколько файлов в другое место.

Объединение файлов

Чтобы объединить файлы, укажите один файл в качестве места назначения, но несколько файлов в качестве источника. Чтобы указать более одного файла, используйте подстановочные знаки или перечислите файлы со знаком + между каждым (файл1+файл2+файл3).
При копировании нескольких файлов таким способом первый файл должен существовать, иначе копирование завершится ошибкой. Обходным решением для этого является COPY null + file1 + file2 dest1

Двоичные копии

«COPY /B . » скопирует файлы в двоичном режиме.

Параметры /A и /B могут появляться в разных местах и ​​иметь разные значения в зависимости от местоположения.
Перед любым исходным — они будут устанавливать режим по умолчанию для всех исходных и целевых файлов.
После источника — они будут устанавливать режим для этого источника.
После назначения - они будут устанавливать режим для назначения.

Копировать из консоли (принять ввод пользователя)

COPY CON filename.txt
Затем введите текст ввода, а затем нажмите ^Z (клавиша Control и Z)

Предлагать перезаписать файл назначения

В Windows 2000 и более поздних версиях действием по умолчанию является запрос на перезапись, если только команда не выполняется из пакетного сценария.
Чтобы принудительно перезаписать целевые файлы, используйте переменную среды COPYCMD:
SET COPYCMD=/Y

Уровни ошибок

Если файл(ы) были успешно скопированы %ERRORLEVEL% = 0
Если файл не найден или заданы неверные параметры = 1

COPY принимает пути в формате UNC.
КОПИРОВАТЬ — это внутренняя команда.

Копировать файл в текущей папке
COPY исходный_файл.doc новый файл.doc

Копировать из другой папки/каталога:
COPY "C:\my work\some file.doc" "D:\New docs\newfile.doc"

Укажите только источник, с подстановочным знаком все файлы будут скопированы в текущий каталог:
COPY "C:\my work\*.doc"

Укажите источник с помощью подстановочного знака и место назначения в виде одного файла. Обычно это полезно только для файлов с обычным текстом.
COPY "C:\my work\*.txt" "D:\New docs\combined.txt"

Создайте пустой (нулевой) файл:
COPY NUL EmptyFile.txt

Тихое копирование (без обратной связи на экране)
COPY source_file.doc newfile.doc >nul

Скопируйте файл, но не перезаписывайте его, если целевой файл уже существует. Этот метод работает только для одного файла, без подстановочных знаков:

Echo n|COPY /-y c:\demo\source_file.txt c:\dir\dest.txt

«Похоже, успех связан с действием. Успешные мужчины продолжают двигаться. Они совершают ошибки, но не сдаются» ~ Конрад Хилтон

Связанные команды:

ROBOCOPY — надежное копирование файлов и папок.
XCOPY - Копирование файлов и папок.
MOVE - Переместить файл из одной папки в другую.
Q126457 - Команды VERIFY ON, COPY /V, XCOPY /V не сравнивают данные.
Эквивалент PowerShell: Copy-Item — копирование элемента из одного места в другое.
Эквивалентная команда bash (Linux): cp — скопировать один или несколько файлов в другое место.

Избранное изображение Создание пакетных файлов Windows 10

Перемещение и упорядочивание файлов на вашем компьютере может занять много времени. В Windows 10 быстрее создать пакетный файл (.bat) и переместить несколько исходных файлов и подпапок в любую папку назначения. Вы можете заранее определить свойства такого файла .bat и перенести файлы позже по своему усмотрению.

Файл .bat — это хорошо известный, но редко используемый секрет Windows, который может выполнять различные типы команд с действенными результатами.

Это последнее руководство 2020 года по созданию пакетного файла в Windows 10 с нуля. Мы также покажем, как использовать такой файл .bat для перемещения файлов из любого источника в папку назначения.

Также прочтите: 4 простых способа быстро скопировать большое количество файлов в Windows

Создать пакетный файл с нуля

Вы можете создать файл .bat в любой папке Windows 10 по вашему выбору. Чтобы создать его с нуля, просто перейдите в нужную папку, щелкните правой кнопкой мыши и создайте новый файл .txt.

 Пакетные файлы Win10 Create Txt 1

После создания файла Блокнота измените расширение с .txt на .bat.

 Пакетные файлы Win10 Rename Bat 1

Игнорируйте сообщение «Файл станет непригодным для использования» из-за изменения расширения имени файла и нажмите «Да». Создан пустой пакетный файл без содержимого.

 Пакетные файлы Win10 File Unusable 1

Файл .bat хорошо виден в папке. Его можно удалить, скопировать, вставить, переименовать и перенести в любую другую папку.

Пакетные файлы Win10 Видимый 1

Использование пакетного файла для создания папок и подпапок

Вы можете использовать файл .bat для создания отдельных папок и подпапок, содержимое и свойства которых остаются связанными с файлом .bat. Независимо от того, в какое место на ПК вы переместите файл .bat, папки и подпапки будут следовать за ним. Любое содержимое, сохраненное в этих папках, можно просто переместить, переместив основной файл .bat.

Щелкните правой кнопкой мыши созданный файл .bat, чтобы «Редактировать с помощью Блокнота», и введите следующее, чтобы создать папки, используя имена папок.

Цель @echo off — отключить подсказку на дисплее. Таким образом, вам не придется иметь дело с командной строкой, хотя она внутренне связана с файловыми процессами .bat. Если имя вашей папки должно содержать пробел, поместите его в кавычки. Сохраните файл и выйдите из Блокнота.

 Пакетные файлы Win10 Folders Command 1

Как только вы щелкнете файл .bat, он выполнит команду для создания новых папок.

 Пакетные файлы Созданные папки Win10 1

Чтобы создать вложенные папки в любой папке, измените приведенный выше код, как показано здесь. Сохраните файл и выйдите из Блокнота.

Пакетные файлы Win10 Подпапки

Как показано здесь, вложенные папки были созданы.

 Пакетные файлы Созданы подпапки Win10 1

Перемещение файлов из одной папки в другую с помощью пакетных файлов

Вы можете использовать файлы .bat для перемещения файлов из любой папки в Windows 10 в папку назначения по вашему выбору. Все, что вам нужно, это правильный путь к папке для завершения передачи. Лучший способ узнать путь к папке — щелкнуть правой кнопкой мыши и выбрать «Свойства», а затем «Расположение».

Пакетные файлы Путь к папке Win10

Как показано здесь, мы переместим все содержимое «Папки А» в «Папку Б». Команда выглядит следующим образом:

Здесь *.* — это подстановочный знак, указывающий Windows 10 скопировать все файлы в исходную папку. Если в какой-либо части пути к папке есть имя папки с пробелами, его необходимо заключить в кавычки.

Пакетные файлы Win10 Одна папка Далее 1

Сохраните файл и выйдите из Блокнота.

Все содержимое одной папки было перемещено в другую, если щелкнуть файл .bat.

 Пакетные файлы Win10 Contents Moved 1

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

Пакетные файлы Win10 Переместить один файл 1

Если вы хотите перемещать между папками только определенные типы файлов, например файлы JPG, измените код, как показано ниже.

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

 Пакетные файлы Особые типы файлов Win10 1

Согласно коду, в этом примере перемещены только файлы JPG.

 Пакетные файлы Win10 Jpg перемещены на 1 дюйм width=

Вы можете заменить .jpg на .pdf, .jpg или файл любого другого типа, который хотите переместить.

Также прочтите: Поиск и открытие файлов с помощью командной строки в Windows

В этом руководстве вы узнали, как создать пакетный файл с нуля и перемещать файлы и папки по компьютеру. Каждый раз, когда вы нажимаете на файл .bat, он перемещает содержимое в нужное место. Это так просто!

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

копировать файлы из одной папки в другую

В этом сообщении блога я опишу, как создать пакетный файл для копирования файлов из одной папки в другую. Пакетный файл — это текстовый файл, содержащий последовательность команд для операционной системы компьютера.

Пакетный файл сценария имеет набор или пакет набора команд, поэтому он называется пакетным файлом. Расширение файла сценария bat — .bat или .cmd.

ПРОМОКОД - PROMOTION25

Если вы новичок в пакетном сценарии и хотите узнать, как создать пакетный файл, ознакомьтесь со статьей ниже

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

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

В основном есть два шага для копирования файлов из одной папки в другую с помощью пакетного скрипта.

1) Создание пакетного файла:

  • Откройте блокнот или notepad++ и создайте новый файл.

создать пакетный файл

  • Теперь сохраните только что созданный файл с расширением .bat.

создать пакетный файл

После сохранения с расширением .bat вновь созданный файл становится bat-файлом.

обзор пакетного файла

2) Запишите скрипт в пакетный файл

После создания пакетного файла вы можете написать сценарий для копирования файлов из одной папки в другую. Ниже я написал скрипт, который спросит имя файла и скопирует файлы из папки «D:\amlendra\docs» в папку «D:\amlendra\data».

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

У меня есть папка для хранения в сети, в которой все пользователи будут хранить свои активные данные на сервере. Теперь этот сервер будет заменен новым из-за проблемы с местом, поэтому мне нужно скопировать файлы подпапок из старой папки хранилища сервера в новую папку хранилища сервера. У меня ниже ex:

из \Oldserver\storage\data & files в \New server\storage\data & files.

Полагаю, вы говорите о среде Windows? - Alan Plum
@pluma Пакетные файлы имеют расширение .bat. Да, они работают только в Windows. - Хьюго М. Зулета
@HugoM.Zuleta, я знаю о файлах .bat. Но «пакетный файл» не обязательно гарантирует среду Windows. Использование этого термина предшествует Windows (как и файлы .bat), и я даже видел, как новички используют этот термин для обозначения «скриптов оболочки» в средах * nix. - Алан Плам
@pluma Я согласен, и это в основном потому, что они ссылаются на пакетные операции, выполняемые инструментами сценариев их ОС. - Хьюго М. Зулета

xcopy.exe, безусловно, ваш друг. Он встроен в Windows, поэтому ничего не стоит.

Просто xcopy /s c:\source d:\target

Возможно, вам захочется кое-что изменить; некоторые из параметров, которые мы также добавляем, включают следующее:

  • /s/e - рекурсивное копирование, включая копирование пустых каталогов.
  • /v — добавьте это, чтобы сверить копию с оригиналом. медленнее, но для параноиков.
  • /h — копировать системные и скрытые файлы.
  • /k - копировать атрибуты только для чтения вместе с файлами. в противном случае все файлы становятся доступными для чтения и записи.
  • /x — если вам нужны разрешения, вам может понадобиться /o или /x .
  • /y – не выдавать запрос перед перезаписью существующих файлов.
  • /z — если вы считаете, что копирование может завершиться ошибкой, и вы хотите перезапустить его, используйте это. Он помечает каждый файл по мере его копирования, поэтому вы можете повторно запустить команду xcopy, чтобы продолжить с того места, где она была остановлена.

Если вы считаете, что xcopy может завершиться неудачно на полпути (например, при копировании через нестабильное сетевое соединение) или что вам нужно остановить его и продолжить позже, вы можете использовать xcopy /s/zc:\source д:\цель .

Надеюсь, это поможет.

рекомендуется цитировать ваш источник и целевую панель… - VDP
@Iavinio Запрашивает файл или каталог при копировании архива. Есть ли способ подавить это? - Bitterblue
/i - Если пункт назначения не существует и копируется более одного файла, предполагается, что пункт назначения должен быть каталогом. - lavinio
Как скопировать один файл из каталога? - Charan Raju C R
Чтобы обойти приглашение «файл или каталог», выполните команду следующим образом… echo f | xcopy /s /f srcfile файл назначения - wintondeshong

Для ясности: когда вы используете xcopy /s c:\source d:\target , поставьте "" вокруг c:\source и d:\target, иначе вы получите ошибку.

т.е. если в пути есть пробелы, т.е. если у вас есть:

но не обязательно, если у вас есть:

Кавычки помогли ;) спасибо, я также использовал /Y для замены файла, если он существует :) Пример: ´´´xcopy /s “c:\source” “d:\target” /Y`` ` – Жоэль Карнейро

Мой любимый способ резервного копирования данных:

/mir для зеркала. Вы также можете использовать /mov для перемещения файлов. Он воспроизводит точно такую ​​же папку. Он может удалять/перезаписывать файлы по мере необходимости. Отлично работает для меня. Это быстрее, чем xcopy/copy. Он также встроен в Windows.

Поддерживаю. Это очень быстро. намного быстрее, чем xcopy - Ike
Есть ли способ рекурсивно удалить thumbs.db, подобный этому? - дура

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

Похоже, что RoboCopy лучше, чем XCopy, потому что xcopy запрашивает выбор файла или папки. И я не могу отказаться от него. Он ДОЛЖЕН работать в полностью автоматическом режиме. - Bitterblue
@mini-me Я знаю, что уже очень поздно, однако я не могу найти тот же соответствующий переключатель. В итоге я прибегнул к тому, чтобы создать пустой файл с тем же именем, в которое я копирую, а затем перезаписать его. Если файл уже существует, он не спрашивает, является ли он файлом или каталогом. (Если вам нужен автоматический каталог, вы можете добавить «/» к пути, и он сделает это). Надеюсь, это поможет будущим людям! - Tom C
@Eve Для справки, echo f | xcopy источник назначения /y сделает это автоматически. Он присваивает всем вопросам букву «f» в качестве ответа. Он также будет передавать запросы на перезапись (я думаю, f принимается как да). - ndm13

Чтобы обойти запрос «укажите имя файла или имя каталога в целевом объекте (F = файл, D = каталог)?» с помощью xcopy, вы можете сделать следующее…

эхо е | xcopy /f /y srcfile целевой файл

или для тех из нас, кто просто копирует большие подструктуры/папки:

используйте параметр /i, указывающий, что пунктом назначения должен быть каталог, если копируется более одного файла

(эхо "f" для файлов или "D" для каталогов) - JinSnow
пытается сделать это сейчас, и это просто не работает - я всегда получаю подсказки при попытке скопировать один файл в другой каталог. Использование Win 10, если это вообще влияет на него echo f | xcopy /f /y «My.dll» «C:\myFolder\My.dll». Я пробовал это с комбинацией других переключателей, но безрезультатно (с большой буквы F) - Prof
Мужик мой! Спасибо - Вифсимстер

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

не забудьте написать антислеш в пути, А НЕ косую черту (^^)

PS: можно получить абсолютный путь, используя подстановочные знаки, называемые «пакетными параметрами»

Посмотрите на инструмент Windows NASBackup на основе rsync. Будет бонусом, если вы знакомы с командами rsync.

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