Командный файл для копирования файлов в другое место?
Можно ли создать пакетный файл для копирования папки в другое место при каждом входе в систему или когда папка обновляется?
Это может быть написано в 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
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, чтобы скопировать то, что вы хотите скопировать.