Bat-файл для копирования файлов из папки в папку
Обновлено: 21.11.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 быстрее создать пакетный файл (.bat) и переместить несколько исходных файлов и подпапок в любую папку назначения. Вы можете заранее определить свойства такого файла .bat и перенести файлы позже по своему усмотрению.
Файл .bat — это хорошо известный, но редко используемый секрет Windows, который может выполнять различные типы команд с действенными результатами.
Это последнее руководство 2020 года по созданию пакетного файла в Windows 10 с нуля. Мы также покажем, как использовать такой файл .bat для перемещения файлов из любого источника в папку назначения.
Также прочтите: 4 простых способа быстро скопировать большое количество файлов в Windows
Создать пакетный файл с нуля
Вы можете создать файл .bat в любой папке Windows 10 по вашему выбору. Чтобы создать его с нуля, просто перейдите в нужную папку, щелкните правой кнопкой мыши и создайте новый файл .txt.
После создания файла Блокнота измените расширение с .txt на .bat.
Игнорируйте сообщение «Файл станет непригодным для использования» из-за изменения расширения имени файла и нажмите «Да». Создан пустой пакетный файл без содержимого.
Файл .bat хорошо виден в папке. Его можно удалить, скопировать, вставить, переименовать и перенести в любую другую папку.
Использование пакетного файла для создания папок и подпапок
Вы можете использовать файл .bat для создания отдельных папок и подпапок, содержимое и свойства которых остаются связанными с файлом .bat. Независимо от того, в какое место на ПК вы переместите файл .bat, папки и подпапки будут следовать за ним. Любое содержимое, сохраненное в этих папках, можно просто переместить, переместив основной файл .bat.
Щелкните правой кнопкой мыши созданный файл .bat, чтобы «Редактировать с помощью Блокнота», и введите следующее, чтобы создать папки, используя имена папок.
Цель @echo off — отключить подсказку на дисплее. Таким образом, вам не придется иметь дело с командной строкой, хотя она внутренне связана с файловыми процессами .bat. Если имя вашей папки должно содержать пробел, поместите его в кавычки. Сохраните файл и выйдите из Блокнота.
Как только вы щелкнете файл .bat, он выполнит команду для создания новых папок.
Чтобы создать вложенные папки в любой папке, измените приведенный выше код, как показано здесь. Сохраните файл и выйдите из Блокнота.
Как показано здесь, вложенные папки были созданы.
Перемещение файлов из одной папки в другую с помощью пакетных файлов
Вы можете использовать файлы .bat для перемещения файлов из любой папки в Windows 10 в папку назначения по вашему выбору. Все, что вам нужно, это правильный путь к папке для завершения передачи. Лучший способ узнать путь к папке — щелкнуть правой кнопкой мыши и выбрать «Свойства», а затем «Расположение».
Как показано здесь, мы переместим все содержимое «Папки А» в «Папку Б». Команда выглядит следующим образом:
Здесь *.* — это подстановочный знак, указывающий Windows 10 скопировать все файлы в исходную папку. Если в какой-либо части пути к папке есть имя папки с пробелами, его необходимо заключить в кавычки.
Сохраните файл и выйдите из Блокнота.
Все содержимое одной папки было перемещено в другую, если щелкнуть файл .bat.
Если вы хотите переместить только выбранные файлы, код можно немного изменить, как показано ниже.
Если вы хотите перемещать между папками только определенные типы файлов, например файлы JPG, измените код, как показано ниже.
Например, чтобы переместить все файлы .jpg, используйте приведенный ниже код:
Согласно коду, в этом примере перемещены только файлы JPG.
Вы можете заменить .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.
Читайте также: