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

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

Это может быть написано в vb или java aswel, если не простое решение.

Есть идеи? Спасибо

8 ответов

Решение

Два подхода:

  • Когда вы входите в систему: вы можете создать copy_my_files.bat файл в ваш All Programs > Startup папка с этим содержимым (это простой текстовый документ):

    • xcopy c:\folder\*.* d:\another_folder\.

    использование xcopy c:\folder\*.* d:\another_folder\. /Y перезаписать файл без подсказки.

  • Каждый раз, когда папка меняется: если вы можете использовать C#, вы можете создать программу, используя FileSystemWatcher

@echo off
copy con d:\*.*
xcopy d:\*.* e:\*.*
pause

Откройте Блокнот.

Введите в него следующие строки (очевидно, замените папки вашими)

@echo off
rem you could also remove the line above, because it might help you to see what happens

rem /i option is needed to avoid the batch file asking you whether destination folder is a file or a folder
rem /e option is needed to copy also all folders and subfolders
xcopy "c:\New Folder" "c:\Copy of New Folder" /i /e

Сохраните файл как backup.bat (не.txt)

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

Теперь, если вы хотите, чтобы командный файл запускался при каждом входе в Windows, поместите его в меню "Пуск" Windows. Вы найдете его в: "Пуск"> "Все программы"> "Автозагрузка". Чтобы поместить в него пакетный файл, либо перетащите его в меню "Автозагрузка", либо ВПРАВО нажмите на кнопку "Пуск" Windows и выберите "Обзор", перейдите в "Программы"> "Автозагрузка" и скопируйте в нее пакетный файл.,

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

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

 @echo off
 set src_folder = c:\whatever\*.*
 set dst_folder = c:\foo
 xcopy /S/E/U %src_folder% %dst_folder%

И вы можете легко добавить этот пакетный файл в свой сценарий входа в Windows (при условии, что у вас есть права администратора на компьютере). Просто зайдите в панель управления "Диспетчер пользователей", выберите свойства для вашего пользователя, выберите профиль и установите скрипт входа.

То, как вы попадаете в панель управления диспетчера пользователей, зависит от того, какую версию Windows вы используете. Но для большинства версий работает щелчок правой кнопкой мыши по " Моему компьютеру", " Управление", а затем " Локальные пользователи и группы".

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

Пакетный файл для копирования папки очень просто.

xcopy /Y C:\Source\*.* C:\NewFolder

Сохраните вышеупомянутое как пакетный файл, и заставьте Windows запускать это при запуске.

Чтобы сделать то же самое, когда обновление папки сложнее, вам понадобится программа, которая каждый раз проверяет папку и проверяет изменения. Вы можете написать программу на VB/Java/ что угодно, а затем запланировать ее запуск каждые 30 минут.

@echo off cls echo нажмите любую клавишу для продолжения резервного копирования! pause xcopy c:\users\file*.* e:\backup*.* /s /e echo backup полная пауза


file = имя файла, который вы хотите скопировать

резервная копия = куда вы хотите переместить файл в

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

robocopy yourfolder yourdestination /MON:0

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

@echo off
xcopy ...

замещать ... с соответствующими аргументами xcopy, чтобы скопировать то, что вы хотите скопировать.

Другие вопросы по тегам