Копия 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 — скопировать один или несколько файлов в другое место.
Используя команду copy, мы можем копировать файлы из одного каталога в другой каталог. Эта команда похожа на команду cp в Linux, но она не соответствует полной функциональности cp. Команда Windows copy может использоваться только для копирования файлов, мы не можем копировать каталоги.
Синтаксис и варианты использования команды копирования объясняются ниже с примерами.
Копировать содержимое файла в другой файл
Пример: копирование файла из c:\data\file1.doc в D:\backup\file2.doc
Если целевой файл уже существует, вам будет предложено подтвердить. Чтобы подавить это подтверждение, вы можете использовать переключатель /Y с командой копирования. Это было бы полезно, если вы выполняете команду копирования из пакетного файла.
Если целевой файл существует, приведенная выше команда перезапишет его, не запрашивая подтверждения у пользователя.
Скопировать файл в другой каталог
Когда мы указываем путь к каталогу в качестве места назначения, файлы будут скопированы с тем же именем. Мы можем назначить другое имя, указав новое имя в пути назначения. Пример показан ниже.
Чтобы скопировать файл 1.doc, расположенный в каталоге c:\data\documents, в каталог c:\data\newdocs
Копировать файлы с пробелами в имени
Если в имени файла есть пробелы, мы можем заключить его в двойные кавычки.
Пример: Чтобы скопировать файл, мое резюме.doc в другую папку
Копировать несколько файлов
Мы не можем указать несколько имен файлов в команде копирования. Однако мы можем использовать подстановочные знаки для идентификации группы файлов, а затем скопировать их все одной командой.
Например, чтобы скопировать все файлы Excel из текущей папки в другую папку F:\backup
Чтобы скопировать все файлы из текущей папки в другую папку
Использование переменных среды
Мы можем использовать переменные среды в команде копирования, чтобы указать путь к папкам. Например, USERPROFILE, SystemRoot, ProgramFiles, TEMP, WINDIR, APPDATA, HOMEPATH.
Например, чтобы скопировать файл в папку документов пользователя
Приведенная выше команда копирует файл в папку «Мои документы» текущего вошедшего в систему пользователя.
Вы также можете прочитать
«Копия» Windows — это забавно. Введите «copy 1 2», и файл «1» будет скопирован в новый файл «2». Теперь разделите их плюсом вместо пробела (скопируйте 1+2), и вы соедините 1 и 2 и замените старый файл «1» результатом объединения!
Да, мы можем объединить два или более файлов с помощью команды копирования. Вам нужно разделить список файлов, используя +. Вы также можете перенаправить полученные данные в новый файл.
Приведенная выше команда не изменит файл 1. Она создает новый файл 3 с объединенными данными 1 и 2. Если имя файла не указано, результат сохраняется в первом файле.
Моя Win7 не может найти команду копирования, и когда я запускаю xcopy, окно мигает и закрывается.
У меня такая же проблема. Если вы решили ее, не могли бы вы объяснить, как?
Если вы не можете найти файл copy.exe, вы можете загрузить его в каталог Windows или каталог C:\, в зависимости от настроек вашей ОС, вы также сможете скопировать и запустить его из system32 или системной папки.< /p>
как я могу объединить 2 файла .exe и иметь возможность использовать оба после объединения
Я хочу скопировать 2 разных файла (.exe,.config) с исходного на целевой сервер Windows.
не могли бы вы помочь мне с этой командой.
Здравствуйте, у меня проблема с командной строкой Windows 7. Когда я пытаюсь скопировать команду. Например, справка > файл.pdf. я имею в виду расширение pdf, потому что у меня эта проблема только с расширением .pdf, но не с .txt. Итак, когда я выполняю команду. Без проблем. Затем, когда я иду, чтобы открыть файл .pdf из пункта назначения пользователя, файл .pdf не открывается, говорят, что он поврежден. Пожалуйста, помогите мне. Спасибо
У меня есть файл, содержащий много строк в качестве источников, а другой файл имеет такое же количество строк, что и адресаты. я хочу скопировать первую строку как источник (c:/test/*.txt) в первую строку в месте назначения (d:/test2/), вторую строку (c:/test/*.pdf) во вторую строку в месте назначения (E :/test3/)……
Можно ли использовать команду DOS/Windows «КОПИРОВАТЬ» в файле BAT, чтобы скопировать файл или короткую строку текста в память компьютера, а затем вставить (Ctrl + V) эту строку или файл в документ?
Мне нужна команда для копирования файла с другим именем в тот же каталог
Можно ли указать .. для перехода на один уровень вверх в дереве каталогов, например:
Копирует один или несколько файлов из одного места в другое.
Вы также можете использовать команду копирования с другими параметрами из консоли восстановления. Дополнительные сведения о консоли восстановления см. в разделе Среда восстановления Windows (Windows RE).
Синтаксис
Параметры
Параметр | Описание |
---|---|
/d | Позволяет зашифрованные файлы копируются для сохранения в виде расшифрованных файлов в месте назначения. |
/v | Проверяет правильность записи новых файлов. | < /tr>
/n | Использует короткое имя файла, если оно доступно, при копировании файла с именем длиннее восьми символов или с расширением имени файла длиннее трех символов. |
/y | Подавляет запрос на подтверждение перезаписи существующего целевого файла. |
/-y | Запрашивает подтверждение перезаписи существующего файла назначения. |
/z | Копии по сети файлы в режиме перезапуска. |
/a | Указывает текстовый файл ASCII. |
/b | Указывает на двоичный файл. |
Обязательный. Указывает расположение, из которого вы хотите скопировать файл или набор файлов. Источник может состоять из буквы диска и двоеточия, имени каталога, имени файла или их комбинации. | |
Обязательно. Указывает расположение, в которое вы хотите скопировать файл или набор файлов. Назначение может состоять из буквы диска и двоеточия, имени каталога, имени файла или их комбинации. | |
/? | Отображает справку в командной строке. |
Примечания
Вы можете скопировать текстовый файл ASCII, в котором для обозначения конца файла используется символ конца файла (CTRL+Z).
Если /a предшествует или следует за списком файлов в командной строке, он применяется ко всем перечисленным файлам до тех пор, пока копия не встретит /b. В этом случае /b применяется к файлу, предшествующему /b.
Эффект /a зависит от его положения в строке командной строки: - Если /a следует за исходным кодом, команда копирования обрабатывает файл как файл ASCII и копирует данные, предшествующие первому. символ конца файла (CTRL+Z).- Если /a следует за назначением, команда копирования добавляет символ конца файла (CTRL+Z) в качестве последнего символа файла.
Если /b указывает интерпретатору команд прочитать число байтов, указанное размером файла в каталоге. /b — значение по умолчанию для копирования, если только копирование не объединяет файлы.
Если /b предшествует или следует за списком файлов в командной строке, он применяется ко всем перечисленным файлам до тех пор, пока копия не встретит /a. В этом случае /a применяется к файлу, предшествующему /a.
Эффект /b зависит от его позиции в строке командной строки: - Если /b следует за source, команда копирования копирует весь файл, включая любой символ конца файла ( CTRL+Z). - Если /b следует за назначением, команда копирования не добавляет символ конца файла (CTRL+Z).
Если операция записи не может быть проверена, появляется сообщение об ошибке. Хотя ошибки записи редко возникают при использовании команды копирования, вы можете использовать /v, чтобы убедиться, что важные данные были записаны правильно. Параметр командной строки /v также замедляет выполнение команды копирования, поскольку необходимо проверять каждый записанный на диск сектор.
Если в переменной среды COPYCMD задан параметр /y, вы можете переопределить этот параметр, указав /-y в командной строке. По умолчанию при замене этого параметра выдается запрос, если только команда копирования не выполняется в пакетном сценарии.
Чтобы добавить файлы, укажите один файл в качестве назначения, но несколько файлов в качестве источника (используйте символы подстановки или файл1+ формат файл2+файл3).
Если соединение потеряно на этапе копирования (например, если сервер, отключившийся от сети, разорвет соединение), вы можете использовать команду copy /z для возобновления после повторного установления соединения. Параметр /z также отображает процент завершения операции копирования для каждого файла.
Вы можете заменить имя устройства на одно или несколько вхождений источника или назначения.
Если назначение — это устройство (например, Com1 или Lpt1), параметр /b копирует данные на устройство в двоичном режиме. В двоичном режиме копия /b копирует все символы (включая специальные символы, такие как CTRL+C, CTRL+S, CTRL+Z и ENTER) на устройство как данные. Однако, если вы опустите /b, данные будут скопированы на устройство в режиме ASCII. В режиме ASCII специальные символы могут привести к объединению файлов в процессе копирования.
Если вы не укажете конечный файл, будет создана копия с тем же именем, датой и временем изменения, что и у исходного файла. Новая копия сохраняется в текущем каталоге на текущем диске. Если исходный файл находится на текущем диске и в текущем каталоге и вы не указали другой диск или каталог для целевого файла, команда копирования останавливается и отображает следующее сообщение об ошибке:
Если вы укажете более одного файла в источнике, команда копирования объединит их все в один файл, используя имя файла, указанное в назначении. Команда копирования предполагает, что объединенные файлы являются файлами ASCII, если вы не используете параметр /b.
Чтобы скопировать файлы длиной 0 байт или скопировать все файлы и подкаталоги каталога, используйте команду xcopy.
Чтобы назначить текущую дату и время файлу без его изменения, используйте следующий синтаксис:
Запятые указывают на то, что параметр destination был намеренно опущен.
Примеры
Чтобы скопировать файл с именем memo.doc в letter.doc на текущем диске и убедиться, что символ конца файла (CTRL+Z) конец скопированного файла, введите:
Чтобы скопировать файл с именем robin.typ с текущего диска и каталога в существующий каталог с именем Birds, расположенный на диске C, введите:
Если каталог Birds не существует, файл robin.typ копируется в файл с именем Birds, расположенный в корневой каталог на диске на диске C.
Чтобы объединить Mar89.rpt, Apr89.rpt и May89.rpt, расположенные в текущем каталоге, и поместить их в файле с именем Report (также в текущем каталоге) введите:
Если вы объединяете файлы, команда копирования помечает конечный файл текущими датой и временем. Если вы не укажете назначение, файлы будут объединены и сохранены под именем первого файла в списке.
Чтобы объединить все файлы в Отчет, когда файл с именем Отчет уже существует, введите:
Чтобы объединить все файлы в текущем каталоге с расширением имени файла .txt в один файл с именем Combined.doc, введите:
Чтобы объединить несколько двоичных файлов в один с помощью подстановочных знаков, включите /b. Это не позволяет Windows рассматривать CTRL+Z как символ конца файла. Например, введите:
Если вы объедините двоичные файлы, полученный файл может оказаться непригодным для использования из-за внутреннего форматирования.
Если вы копируете файлы с помощью перетаскивания или копирования/вставки, вы можете просто выбрать опцию «Пропустить этот файл» или «Пропустить эти файлы», чтобы не перезаписывать файлы, которые уже существуют в папке назначения.
Или, если вы используете копирование из командной строки, вы можете ответить N, чтобы пропустить эти файлы, которые уже существуют.
Но как я могу сделать то же самое через пакетный файл, используя любую командную строку копирования?
Есть два способа сделать это.
Вы можете использовать оператор IF для копирования файла только в том случае, если файл не существует в месте назначения.
Друг NoW, Гленн Раймче, поделился гораздо лучшим способом использования командной строки копирования без оператора IF.
Если вам нужно скопировать папку в другое место, но не перезаписывать файлы, которые уже существуют в новом месте, вот что вы можете сделать.
%~nx в команде удаляет информацию о папке из переменной %f, чтобы в результате вы получали только имя файла.
Или вместо этого используйте гораздо мощную альтернативу командной строки копирования, например robocopy.
Для пропуска определенных файлов можно использовать следующие переключатели.
Например, чтобы скопировать все файлы из папки A в папку B, за исключением всех файлов с более новой отметкой времени.
Читайте также: