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

Вопрос или проблема

На Windows Server команды XCOPY/robocopy/copy с общего диска на локальный диск работают, когда выполняются в командной строке или пакетном файле.

Например, общий диск z:

xcopy z:\foldername\*.txt d:\test\

Однако копирование не работает в Планировщике задач.

Как это исправить?

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

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

net use Z: \\server\share

Ответ или решение

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

Решение проблемы копирования файлов с сетевого диска в Планировщике заданий

1. Запуск задачи с правами пользователя:
Если вы хотите, чтобы задача имела доступ к смонтированным дискам, убедитесь, что в настройках задачи выбраны следующие параметры:

  • Запускать только при входе пользователя в систему: выберите эту опцию, чтобы задача могла использовать смонтированные диски, так как они будут доступны в контексте пользователя.

2. Использование UNC-путей:
Если опция "Запускать только при входе пользователя" недоступна или не подходит, лучше использовать UNC-пути вместо букв дисков. Например:

xcopy \\сервер\папка\*.txt d:\test\

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

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

net use Z: \\сервер\шар
xcopy Z:\foldername\*.txt D:\test\
net use Z: /delete

Не забудьте закрыть соединение с помощью net use Z: /delete, чтобы освободить ресурсы после завершения выполнения задачи.

Пример BAT файла:

@echo off
rem Монтируем сетевой диск
net use Z: \\сервер\шар

rem Копируем файлы
xcopy Z:\foldername\*.txt D:\test\ /Y /E

rem Удаляем монтирование диска
net use Z: /delete

Настройка задачи в Планировщике заданий:

  1. Откройте "Планировщик заданий" и создайте новую задачу.
  2. Перейдите на вкладку "Общие" и выберите "Запускать только при входе пользователя".
  3. Перейдите на вкладку "Действия" и добавьте новое действие с указанием на ваш BAT файл.
  4. Настройте триггеры по вашему вкусу.

Заключение

Следуя вышеуказанным шагам, вы сможете успешно настроить копирование файлов с сетевого диска на локальный диск через Планировщик заданий Windows. Использование UNC-путей или команд для монтирования дисков — это надежные способы избежать проблем с доступом к файлами.

Оцените материал
Добавить комментарий

Капча загружается...