Программно пакетные файлы для копирования ночью - PullRequest
2 голосов
/ 18 мая 2009

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

То, что я ищу, - это подходы к запуску копирования, поэтому это делается посреди ночи, и подход к копированию файлов. Я полагаю, я могу запустить xcopy из своего приложения, но это хороший способ сделать это? Должен ли я использовать объекты пространства имен System.IO для копирования файлов? Есть ли лучший способ все вместе?

Приложение будет написано на C # и ASP.NET. В настоящее время мы используем .NET 2.0 / 3.0, но у меня нет проблем с использованием .NET 3.5, если он содержит лучшие библиотеки для решения.

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

Если уже есть приложение, которое делает это, я тоже не против. Мне не нужно писать вещи, которые уже существуют.

Ответы [ 5 ]

2 голосов
/ 18 мая 2009

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

1 голос
/ 18 мая 2009

Я думаю, вам следует рассмотреть возможность использования Windows Powershell для копирования (или другого языка сценариев, если вы предпочитаете), управляемого Запланированные задачи Windows . Хотя вы могли бы написать приложение для этого, я думаю, что было бы гораздо проще поддерживать сценарий, который могли бы редактировать другие.

1 голос
/ 18 мая 2009

Самое простое решение - заключить команды xcopy в командный файл и запланировать их запуск в любое время в качестве запланированной задачи на веб-сервере.

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

1 голос
/ 18 мая 2009

Для составления графика вы можете использовать Quartz.NET

Нетрудно написать операцию xcopy в C # с использованием System.IO. На самом деле, это даст вам наибольшую степень гибкости.

0 голосов
/ 18 мая 2009

вы пометили этот ASP, но если вы не суетитесь, я бы порекомендовал сочетание встроенных в Windows запланированных задач и rsync. Если это действительно необходимо автоматизировать со страницы интрасети (а вы в IE), то для настройки расписания потребуется какая-либо форма ActiveX или загружаемый скрипт / приложение.

...