Как в Bat скопировать файл. Копирование файлов bat


Резервное копирование: использование bat-файла — Defoult.ru

В статье:

  • Опишу и приведу примеры создания бэкапов используя командную строку.
  • “Подробно” распишу команду xCOPY и как применить WinRar в создании бэкапа.
  • Создание папкиархива с именем: текущая дата.

Процитирую баш.орг.ру:

Год за годом все новые админы бэкапят серверные винты на логических разделах тех же самых винтов.

Резервное копирование с использованием xCOPY

Пример скрипта, копирующего файлы в каталог f:backupnew, при втором запуске переименовывает каталог new в old, создает заново каталог new и копирует файлы. Т.е. батника дает возможность хранить “двухдневные” бэкапы:

del “f:backupold” /s /q

rmdir “f:backupold” /s /q

rename “f:backupnew” “old”

mkdir “f:backupnew”

xcopy “D:123*.*” “f:backupnew*.*” /E /F /H /R /K /Y /D

Можно поступить иначе,  например команда md %date:~0,2%.%date:~3,2%.%date:~6,4% создает папку, имя которой –  текущая дата:

mkdir “f:backup%date:~0,2%.%date:~3,2%.%date:~6,4%”

xcopy “e:superBD*.*” “f:backup%date:~0,2%.%date:~3,2%.%date:~6,4%*.*” /E /F /H /R /K /Y /D

rem Должно работать и без mkdir, т.к. xcopy сам бы создал папку. Подстраховка =)

Поясню по используемым ключам XCOPY:

/E Копирует все подкаталоги, включая пустые.

/F Выводит имена исходных файлов и файлов-результатов в процессе копирования.

/H Включает в операцию копирования скрытые и системные файлы. По умолчанию системные файлы игнорируются.

/R Копирует файлы с атрибутом «только для чтения».

/K Копирует файлы с атрибутом «только для чтения» с сохранением этого атрибута для скопированных файлов, оригиналы которых имеют этот атрибут.

/Y Устраняет выдачу запроса на подтверждение перезаписи существующего конечного файла.

/D[:мм-дд-гггг] Копирует только файлы, измененные не ранее заданной даты. Если не включить значение мм-дд-гггг, команда xcopy копирует все файлы-источники, которые новее существующих файлов-результатов. Эта возможность позволяет обновлять только измененные файлы.

О дополнительных ключах xcopy можно почитать на microsoft.com

Резервное копирование с использованием WinRAR

del “f:backupold” /s /q

rmdir “f:backupold” /s /q

rename “f:backupnew” “old”

mkdir “f:backupnew”

“C:Program FilesWinRARRar.exe” a -m5 -r -t -dh -idp f:backupnewbackup.rar “D:superBD*.*” >> f:backupnewbackup.log

Если прикрутить сюда вышеописанную %date:~0,2%.%date:~3,2%.%date:~6,4%, то

“C:Program FilesWinRARRar.exe” a -m5 -r -t -dh -idp f:backup.rar “E:superBD*.*” >> f:%date:~0,2%.%date:~3,2%.%date:~6,4%.log

ren “f:backup.rar” “%date:~0,2%.%date:~3,2%.%date:~6,4%.rar”

log-файлы я стер

Подробнее о ключах запуска Rar.exe можно почитать в файле C:Program FilesWinRARRar.txt

После того как батник создан и проверен – можно создать задание на автоматический запуск, например ночью, когда юзвер спит . Жми пуск – выполнить – вводи control schedtasks – жми ентер. Откроется планировщик заданий, там проще некуда.

Удачи!

З.Ы. Не бэкапьте на логических разделах тех же самых винтов.

defoult.ru

Как в Bat скопировать файл

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

Вам понадобится

Текстовый редактор.

Спонсор размещения P&G Статьи по теме "Как в Bat скопировать файл" Как очистить кэш в компьютере Как исправить расширение файла Как установить пакет KDE

Инструкция

1

Для создания bat-файлов не требуется никакого специального программного обеспечения, так как формат содержащихся в них данных ничем не отличается от обычных txt-файлов. Откройте любой текстовый редактор - подойдут Word, WordPad, Блокнот и т.д.

2

В первой строке нового документа наберите команду копирования - copy. Затем поставьте пробел и введите полный адрес файла, дубликат которого требуется создать. В ОС Windows он должен начинаться с буквы диска и содержать разделенный обратными слэшами набор всех папок на пути от корневой директории до каталога, в котором находится файл. Например, эта запись может выглядеть так:

F:sourcesRelMediatmpsomeFile.txt.

3

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

copy F:sourcesRelMediatmpsomeFile.txt H:backUpssomeFileCopy.txt

4

Команда copy может в процессе копирования объединить содержимое нескольких источников и записать результат в один общий файл. Чтобы воспользоваться этой возможностью, перечислите все объединяемые исходные объекты, разделяя их окруженным пробелами плюсом. Название файла-копии укажите так же, как и в предыдущем шаге. Образец такой команды, объединяющей содержимое трех текстовых файлов:

copy F:someFile1.txt + F:someFile2.txt + F:someFile3.txt H:someFileCopy.txt

5

Если необходимо скопировать все содержимое какого-либо каталога, включая и вложенные в него папки, используйте другую команду - xcopy. Она тоже требует указания двух полных адресов - исходной папки и папки назначения. Вместо названий копируемых файлов используйте «вайлдкард»: *.*. Например:

copy F:sourcesRelMediatmp*.* H:backUps*.*

6

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

masterotvetov.com

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

Часто бывала ситуация, когда созданную в плейлисте на компе музыку хотелось бы проиграть на других устройствах с флешки.Winamp создаёт плейлист в формате m3u, и внутри его — ссылки на файлы mp3Однако возникает проблема получить список файлов и скопировать это на флешку.После того, как жена в 5-й раз попросила обновить на флешке музыку, я задумался об автоматизации этого процесса.И написал bat-файл для этого.Вот его код, авось кому ещё пригодится:

Код:

@echo off Setlocal EnableExtensions set /p filein=" Введите имя плейлиста: " set /p disk=" Введите диск куда копировать файлы: " chcp 1251>nul set LanguageFlag=true mkdir "%disk%\%DATE%" for /f "usebackq delims= eol=#" %%a in ("%filein%") do ( if defined LanguageFlag (chcp 866>nul& set LanguageFlag=) rem echo %%a rem echo %disk%\%DATE%\%%~na.mp3 copy /y "%%a" "%disk%\%DATE%\%%~na.mp3" ) pause Файл ложится в папку с плейлистом.При запуске запрашивает:1. Имя плейлиста — например введите sound.m3u2. Диск куда скопировать файлы из плейлиста, например введите K:

Как работает:Создает папку с датой на введённом диске типа 13.11.2014 и копирует туда файлы, найденные в плейлисте.

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

Что не получилось сделать, а заодно и возможные проблемы:1. Не разобрался как писать имя файла с расширением, потому написал в копии — имя файла + жёстко расширение mp3. Буду рад если кто подправит как правильно — копировать первоначальное имя файла с его расширением.2. Наличие файлов на диске не проверяется. Ни в источнике, ни в назначении. 3. Файлы желательно иметь возможность переименовать в виде 01-исходный_файл.mp3 и далее по порядку. Чтобы на устройствах, которые не поддерживают плейлисты, файлы шли жестко по порядку как в плейлисте. Пока не знаю как сделать.

Задача вроде бы изначально казалась простой, однако при решении сказалась вся убогость bat-файлов для таких целей: зоопарк кодировок внутри винды вызывал кракозяблики то в меню скрипта, то в названиях файлов на кириллице.Если есть решение получше — у кого есть, просьба поделитесь.

 

nulled.in