![Robo-копирование файлов между потоком файлов Google и сетевым диском с помощью планировщика задач Windows приводит к ошибке «Отказано в доступе»](https://rvso.com/image/1628427/Robo-%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83%20%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BC%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%20Google%20%D0%B8%20%D1%81%D0%B5%D1%82%D0%B5%D0%B2%D1%8B%D0%BC%20%D0%B4%D0%B8%D1%81%D0%BA%D0%BE%D0%BC%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20%D0%BF%D0%BB%D0%B0%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D1%89%D0%B8%D0%BA%D0%B0%20%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%20Windows%20%D0%BF%D1%80%D0%B8%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%20%D0%BA%20%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B5%20%C2%AB%D0%9E%D1%82%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%BE%20%D0%B2%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B5%C2%BB.png)
Я пытаюсь скопировать файлы, созданные SAP Business Objects (и сохраненные на сетевом диске (M:)) на диск Google File Stream (G:). Я использовал команду Robocopy Windows, которая позволяет мне пропускать файлы, которые уже там находятся. Мой (упрощенный) пакетный файл выглядит так:
@robocopy "M:\aFolder" "g:\My Drive\DataDrops" "*.txt" /XO >> Logfile.txt
Это работает отлично, когда я дважды щелкаю по нему или запускаю его из командной строки. Но я хочу запланировать проверку новых файлов каждые 10 минут или около того. Поэтому я создал задачу Windows для запуска пакетного файла. Но когда задача запускает его, появляется окно cmd с надписью «доступ запрещен».
Я установил задачу для запуска от своего имени и только когда я вошел в систему для запуска, но каким-то образом, когда задача запускается, я получаю отказ в доступе. Я не знаю, запрещен ли доступ задаче к сетевому диску, или нет, к диску google file stream, или к моему локальному диску (где сохранен скрипт).
решение1
Поэтому решением было перенести его в PowerShell, а затем запланировать PowerShell (а не сам скрипт), а затем передать скрипт в качестве параметра.
Итак, да: запланируйте PowerShell с параметрами:-executionpolicy bypass -file YourScript.ps1
Вторая часть исправления — не использовать сопоставленные сетевые диски, а использовать обозначение \\servername\filepath\
в сетевом имени файла, поскольку, по-видимому, планировщик не увидел сопоставленный диск. (Google Drive все еще работает, так что я в восторге от этого)