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

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

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

какие идеи? Спасибо

8 ответов


два подхода:

  • при входе в систему: вы можете создать в своем 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

сохраните файл как резервное копирование.летучая мышь (нет .txt)

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

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

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


пакетный файл для копирования папки легко.

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

сохраните вышеизложенное как пакетный файл и запустите Windows при запуске.

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


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

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

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

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

единственный липкий бит - "когда папка обновляется". Это звучит как Folder watcher, который вы не можете сделать в пакетном файле, но вы можете сделать довольно легко .Сеть.


robocopy yourfolder yourdestination /MON:0

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


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


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

backup = где вы хотите, чтобы файл был перемещен в

надеюсь, что это помогает


@echo off
xcopy ...

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