Автоматическое копирование файлов из одной папки в другую

Обновлено: 21.11.2024

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

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

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

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

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

Спасибо, @kush, не знал о robocopy. Не уверен, что это хорошая идея… Потому что робокопия ненадежная? Реализация опасна? Плохая идея?

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

5 ответов 5

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

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

Это прекрасно работает. Существует множество подробных опций для указания поведения, когда элемент существует только на левой стороне, правая сторона новее и т. д. — пакетный инструмент может выполняться каждые 0 секунд для почти мгновенного отклика без какого-либо заметного снижения производительности (для 300 файлов более 150 МБ). отчеты и, опционально, оповещения/паузы/журналы изменений… Интерфейс GUI немного странный и требует настройки, но он мощный и гибкий. Еще раз большое спасибо.

Недостаток этого заключается в том, что вам нужно «устанавливать больше программного обеспечения», а не полагаться на инструменты, уже встроенные в ОС, поэтому люди, которых устраивает дополнительная работа по настройке robocopy (которая поставляется с Windows ) может быть лучше использовать это.

RoboCopy можно настроить на копирование данных по истечении заданного периода времени и/или после внесения ряда изменений в наборы данных.

/MON:n : источник MONitor; запускать снова, когда видно более n изменений.
/MOT:m : Источник мониторинга; запустить снова через m минут Время, если оно было изменено.

И, что немаловажно, встроено в windows. Эту утилиту не нужно устанавливать самостоятельно, она у вас уже установлена.

Вы также можете взглянуть на (устаревающие) клиент и сервер DeltaCopy. По сути, это Linux-подобная реализация rsync для Windows, с поддержкой сценариев (при необходимости с использованием планировщика Windows), и ее главное преимущество заключается в том, что только измененные части измененного файла (да, файл!) передаются. Это может сэкономить много трафика на больших проектах. Недостаток, конечно, в том, что перед этим необходимо создать и передать список файлов.

Независимо от того, очищаете ли вы свои загрузки или упорядочиваете налоговые поступления, вы можете автоматизировать этот процесс с помощью этих простых методов.

Вы хотите автоматически перемещать файлы из одной папки в другую на компьютере с Windows или Mac? Что ж, вы можете легко сделать это на обоих типах компьютеров.

В этом руководстве рассказывается, как автоматизировать задачи передачи файлов в Windows и macOS.

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

Есть много причин, по которым вы хотели бы настроить это.

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

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

Автоматическое перемещение файлов из одной папки в другую в Windows

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

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

Вот как это сделать.

Шаг 1. Напишите скрипт для автоматического перемещения файлов

Первое, что нужно сделать, это написать скрипт и указать в нем некоторые значения:

  1. Откройте меню "Пуск", найдите Блокнот и запустите его.
  2. Вставьте следующий скрипт в новый документ Блокнота.
  3. В приведенном выше скрипте замените Days на количество дней, по истечении которых скрипт должен переместить ваши файлы (это возраст ваших файлов), замените SourceFolder на путь, где находятся ваши файлы, и замените DestinationFolder на путь, куда следует переместить ваши файлы.
  4. Откройте меню "Файл" и выберите "Сохранить как".
  5. Выберите «Все файлы» в раскрывающемся меню «Тип файла», введите имя файла, добавьте .bat в конце поля «Имя файла» и нажмите «Сохранить», чтобы сохранить файл.

Теперь пакетный скрипт готов.

Шаг 2. Запланируйте автоматический запуск пакетного сценария

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

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

Вот как настроить задачу в планировщике заданий:

  1. Откройте меню "Пуск", найдите планировщик заданий и откройте его.
  2. Нажмите "Создать задачу" справа, чтобы настроить новую автоматическую задачу.
  3. Введите название задачи в поле «Имя».
  4. Перейдите на вкладку "Триггеры" вверху, а затем нажмите "Создать", чтобы добавить новый триггер.
  5. На экране триггера выберите частоту запуска пакетного сценария в разделе "Настройки". Затем вы можете указать время запуска сценария на правой панели. Затем нажмите OK внизу.
  6. Перейдите на вкладку "Действия" и нажмите "Создать", чтобы добавить новое действие.
  7. Убедитесь, что в раскрывающемся меню «Действие» выбран пункт «Запустить программу». Затем нажмите кнопку "Обзор".
  8. Перейдите туда, где вы сохранили свой пакетный скрипт, и выберите его.
  9. Нажмите "ОК", а затем еще раз "ОК", чтобы сохранить задачу.

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

Если вы когда-нибудь захотите отключить автоматическое перемещение файлов, откройте планировщик заданий, найдите свою задачу в списке и нажмите «Удалить» справа. Это удалит вашу задачу и предотвратит автоматический запуск пакетного сценария.

Автоматическое перемещение файлов из одной папки в другую в macOS

Настроить автоматическую передачу файлов в macOS относительно просто. Это связано с тем, что вам нужно использовать только одно приложение для написания и планирования сценария на Mac.

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

Если вам это интересно, вот как автоматизировать перемещение файлов на вашем Mac:

  1. Запустите Automator на вашем Mac.
  2. Нажмите «Файл» > «Создать», выберите «Действие с папкой» и нажмите «Выбрать», чтобы создать новое действие с папкой в ​​Automator.
  3. Вверху появится раскрывающееся меню, в котором указано, что действие с папкой получает добавленные файлы и папки. Используйте это раскрывающееся меню, чтобы выбрать исходную папку, в которой находятся файлы для перемещения.
  4. В левой части экрана, где указано «Действия», найдите действие «Переместить элементы Finder» и перетащите его в рабочий процесс справа.
  5. В действии «Переместить элементы Finder» справа выберите папку назначения в раскрывающемся меню «Кому». Сюда будут перемещены ваши файлы.
  6. Если хотите, установите флажок Заменить существующие файлы.
  7. Нажмите Command + S, введите имя для действия с папкой и нажмите "Сохранить".
  8. Закрыть Automator.

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

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

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

Перемещение файлов в соответствующие папки в Windows и Mac

Если вы предпочитаете перемещать файлы по определенному шаблону, вы можете автоматизировать эту задачу как на компьютерах с Windows, так и на Mac, как показано выше.

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

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

Сценарий/пакетный файл Windows

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

Например, когда вы копируете папку/файл в раздел NTFS или из одного раздела в другой, система Windows будет рассматривать его как новую папку/файл; таким образом, вы станете ВЛАДЕЛЬЦЕМ СОЗДАТЕЛЯ, поскольку система получит разрешения. Вот почему необходимо использовать скрипт для копирования файлов из одной папки в другую.

Что такое пакетный файл

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

Можно ли использовать скрипт для копирования файлов из одной папки в другую

Буфер обмена Windows позволяет пользователям легко копировать и вставлять файлы/папки вручную. Обычный процесс копирования кажется довольно простым: выберите файл/папку, которую необходимо скопировать, и выберите вариант копирования; открыть пункт назначения; выберите вариант вставки.

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

Как создать пакетный файл для копирования файлов? Как использовать скрипт Windows для копирования файлов? Как правило, он состоит из двух этапов: создание пакетного файла и создание задачи для запуска пакетного файла для копирования файлов из одной папки в другую.

Этап 1. Создание пакетного файла для копирования

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

  1. Открыть поиск Windows.
  2. Введите блокнот.
  3. Откройте приложение "Блокнот".
  4. Скопируйте и вставьте скрипт в новый файл Блокнота.
  5. Выберите «Файл» -> «Сохранить как».
  6. Дайте ему имя.
  7. Выбрать все файлы.
  8. Нажмите "Сохранить", чтобы завершить создание пакетного файла.

Шаг 1. Нажмите значок Cortana на панели задач (исправление того, что панель задач не работает в Windows 10).

Шаг второй: введите блокнот в текстовое поле поиска.

Шаг 3. Выберите приложение «Блокнот» в результатах поиска, нажав на него.

Шаг четвертый: введите следующий скрипт или скопируйте и вставьте его в Блокнот.

@эхо выключено

установить X=

установить "источник=C:\"

установить "destination=D:\"

robocopy "источник" "назначение" "имя файла с расширением" /z

выход /b

  • Исходная папка, конечная папка и количество дней могут быть изменены в соответствии с вашими потребностями.
  • Количество дней относится к интервалу времени, в течение которого вы хотите архивировать свои папки.
  • "<>" необходим, если путь к исходной или целевой папке включает пробел.

Шаг пятый: выберите пункт «Файл» в строке меню и выберите «Сохранить как…» в подменю.

Шаг шестой:

  • Дайте ему имя и введите его в текстовое поле Имя файла; формат имени файла — .BAT.
  • Выберите все файлы для параметра "Сохранить как тип", чтобы изменить тип файла по умолчанию.
  • Нажмите кнопку "Сохранить" внизу, чтобы завершить этот шаг.

Этап второй: создание задачи для запуска пакетного файла

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

Шаг первый: введите планировщик задач в поле поиска Cortana.

Шаг второй: выберите Планировщик заданий в результатах поиска.

Шаг третий: найдите раздел «Действия» на правой панели.

Шаг четвертый: выберите «Создать задачу…» из списка.

Шаг пятый: дайте название задаче и введите его в текстовое поле после имени.

Шаг шестой: перейдите на вкладку «Триггеры» и нажмите кнопку «Создать…».

Шаг седьмой: определите частоту запуска задачи, выбрав «Один раз», «Ежедневно», «Еженедельно» и «Ежемесячно».

Шаг восьмой: установите Время начала, чтобы решить, когда задача будет запущена, и нажмите кнопку ОК для подтверждения.

Шаг девятый: перейдите на вкладку «Действия» и нажмите кнопку «Создать…».

Шаг десятый: нажмите кнопку "Обзор", чтобы найти и выбрать файл .BAT, который вы создали на первом этапе.

Шаг одиннадцатый: нажмите кнопку OK для подтверждения. Затем вы можете закрыть планировщик заданий и начать перемещать файл из одной папки в другую, используя его.

Вот как можно использовать пакетное копирование файлов Windows. Кроме того, вы также можете использовать Xcopy или Robocopy для копирования файлов и папок на свой компьютер.

ОБ АВТОРЕ

Должность: обозреватель

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

В Windows можно настроить запланированное задание для автоматического копирования файлов в другую папку. Для этого требуется пакетный файл с командами копирования и утилита Task Scheduler. Продолжайте читать, чтобы узнать, как запланировать копирование файлов.

Автор Делия / Последнее обновление: 24 мая 2021 г.

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

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

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

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

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

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

Шаг 1. Теперь вам нужно создать файл .bat с помощью текстового редактора, например блокнота. Вы можете щелкнуть правой кнопкой мыши на рабочем столе и выбрать «Создать» > «Текстовый документ».

Шаг 2. Откройте текстовый документ и введите команду. Основной синтаксис для robocopy:

robocopy [источник] [назначение]

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

robocopy C:\Users\Delia\Desktop\copy D:\copy

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

Кроме того, вы можете добавить некоторые переключатели для настройки копирования файлов, например /s для копирования подкаталогов и исключения пустых каталогов, /xo для исключения старых файлов и /mov для перемещения файлов в другую папку при удалении их из источника. папка. Вот полный список параметров robocopy, на которые вы можете ссылаться. Выбирая и комбинируя их надлежащим образом, вы можете совершить множество замечательных вещей.

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

@ECHO OFF
ECHO Копирование завершено!
robocopy C:\Users\Delia\Desktop\copy D:\copy /s /z
robocopy C:\Users\Delia\Desktop\copy1 D:\copy1 /s /z
ПАУЗА

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

Шаг 3. Нажмите «Файл» > «Сохранить как…» и дайте файлу имя, затем измените расширение с .txt на .bat и сохраните его.

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

Вы также можете создать запланированную задачу robocopy по параметрам. Например, /MOT:m выполнит еще одно добавочное резервное копирование, если изменения будут обнаружены в течение "m" минут.

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

Выберите «Создать простую задачу…» в главном интерфейсе и следуйте указаниям мастера, чтобы сделать свой выбор.

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

Выберите способ выполнения задачи. Здесь выберите «Запустить программу» и найдите только что созданный файл .bat.

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

Как запланировать задачу копирования файлов на сетевой диск?

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

Планировщик заданий может получить доступ к подключенным сетевым дискам только с включенным параметром «Запускать только при входе пользователя в систему». Если нет, щелкните задачу правой кнопкой мыши и выберите «Свойства», чтобы изменить настройки.

Простой вариант: автоматическое копирование файлов в другое место с помощью бесплатного ПО

Комбинация robocopy и планировщика задач дает вам гибкость для достижения самых разных целей, но также требует определенного уровня знаний компьютера. Если вам нужно более интуитивно понятное решение с не менее мощными функциями защиты данных, попробуйте AOMEI Backupper Standard.

Это бесплатное программное обеспечение работает в Windows 10/8.1/8/7/Vista/XP и позволяет копировать файлы между внутренними/внешними дисками, флэш-накопителями, сетевыми папками и облачными дисками. Таким образом, вы можете легко синхронизировать локальную папку с сетью, синхронизировать сетевую папку с One Drive или даже синхронизировать папки между компьютерами.

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

Теперь загрузите программное обеспечение для копирования файлов:

Как запланировать задачу копирования файлов в другую папку:

Шаг 1. Откройте программное обеспечение, выберите «Синхронизировать» слева и выберите «Базовая синхронизация», чтобы синхронизировать измененные файлы из исходного каталога в целевой каталог.

Другие режимы синхронизации (доступны в версиях Pro и выше):
Синхронизация в реальном времени: синхронизация измененных файлов из исходной папки в целевую папку в режиме реального времени.
Зеркальная синхронизация: сохраняйте файлы в целевой папке точно такими же, как в исходной папке.
Двусторонняя синхронизация: взаимная синхронизация измененных файлов в исходной папке и целевой папке с другой стороной.

Шаг 2. Нажмите «Добавить папку», чтобы указать, что вы хотите скопировать, затем нажмите на строку назначения, чтобы выбрать целевой путь.

Чтобы скопировать файлы из сетевого расположения, нажмите «Общий ресурс/NAS» > «Добавить общий ресурс» или «Устройства NAS», чтобы указать путь. Чтобы скопировать файлы в сетевое расположение, вы можете выбрать «Выбрать сетевое расположение» в раскрывающемся меню. Что касается подключенного сетевого диска, вы можете выбрать его напрямую, как и локальные диски.

Шаг 3. Нажмите «Расписание», чтобы настроить автоматическое копирование файлов, и нажмите «Начать синхронизацию», чтобы выполнить запланированное задание.

Возможности расписания включают триггеры «Ежедневно», «Еженедельно», «Ежемесячно», «Триггеры событий» и «USB-подключение». Для последних двух требуется версия Pro.

Дополнение: резервное копирование файлов в другую папку в виде изображений

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

В AOMEI Backupper вы также можете выполнять резервное копирование файлов/разделов/ОС/диска в сжатые файлы образов и настроить расписание для автоматического выполнения этого действия. Образы резервных копий нельзя использовать без восстановления, но поэтому вы можете сохранить другую версию данных, чтобы восстановить их до любой более ранней версии.

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

Заключение

Windows позволяет создавать запланированные задачи для регулярного копирования файлов в другую папку, но для этого необходимо заранее изучить команды xcopy/robocopy и планировщик заданий. Для удобства вы также можете использовать профессиональное программное обеспечение, такое как AOMEI Backupper.

Помимо резервного копирования и синхронизации файлов, он может выполнять множество других функций для управления данными и их защиты. Даже если вам нужно обрабатывать более сложные данные, например, перенести ОС на другой жесткий диск, вы можете использовать функцию клонирования диска или клонирования системы. Кроме того, у него есть разные версии для разных групп, в том числе версия Server для пользователей Windows Server.

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