我正在尝试将 SAP Business Objects 生成的文件(并保存在网络驱动器 (M:) 上)复制到谷歌文件流驱动器 (G:) 上。我使用了 Robocopy windows 命令,它可以让我跳过已经存在的文件。我的(简化的)批处理文件如下所示:
@robocopy "M:\aFolder" "g:\My Drive\DataDrops" "*.txt" /XO >> Logfile.txt
当我双击它或从 cmd 提示符运行它时,这非常有效。但我想安排它基本上每 10m 左右检查一次新文件。所以我创建了一个 Windows 任务来运行批处理文件。但是当任务运行它时,它会弹出一个 cmd 窗口,上面写着“拒绝访问”。
我将任务设置为以我自己的身份运行,并且仅当我登录运行时,但不知何故,当任务运行时,我被拒绝访问。我不知道该任务是不允许访问网络驱动器,还是谷歌文件流驱动器,或者我的本地驱动器(这是保存脚本的地方)。
所以解决方法是将其移动到powershell,然后调度powershell(而不是脚本本身),然后将脚本作为参数传递。
所以是的:使用参数安排powershell:
-executionpolicy bypass -file YourScript.ps1
修复的第二部分是不使用映射的网络驱动器,而是使用
\\servername\filepath\
网络文件名中的符号,因为调度程序显然没有看到映射的驱动器。(谷歌驱动器仍然有效,所以我很兴奋)