File 批处理脚本无法在计划时访问远程驱动器

File 批处理脚本无法在计划时访问远程驱动器,file,batch-file,scheduled-tasks,File,Batch File,Scheduled Tasks,我有一个简单的批处理脚本,可以从映射到本地计算机上的Sharepoint驱动器本地复制文件。这在手动运行时运行良好,但在使用任务调度器运行时,脚本似乎根本无法访问驱动器。即使是简单的DIR打印输出也会失败。还值得注意的是,设置为在scheduler中运行脚本的用户对所涉及的所有内容都拥有完全的权限,并且与手动运行脚本所使用的帐户相同 计划任务的两个设置: 设置为无论用户是否登录都运行 以最高权限运行 你知道我怎样才能让它在调度程序中工作吗 编辑: 脚本和任务运行历史的屏幕截图 编辑2 call

我有一个简单的批处理脚本,可以从映射到本地计算机上的Sharepoint驱动器本地复制文件。这在手动运行时运行良好,但在使用任务调度器运行时,脚本似乎根本无法访问驱动器。即使是简单的DIR打印输出也会失败。还值得注意的是,设置为在scheduler中运行脚本的用户对所涉及的所有内容都拥有完全的权限,并且与手动运行脚本所使用的帐户相同

计划任务的两个设置:

设置为无论用户是否登录都运行 以最高权限运行 你知道我怎样才能让它在调度程序中工作吗

编辑: 脚本和任务运行历史的屏幕截图

编辑2

callCopyFiles.bat

del "C:\apache\htdocs\IESite\Reports\*.*?"
FOR /f "delims=" %%L in (directorylist.txt) do (
    echo %%L >> log.txt
    CALL copyfiles.bat "%%L"
)
copyfiles.bat

FOR /F "delims=" %%I IN ('DIR %1 /s /b /O:-D') DO (
    COPY "%%I" "C:\apache\htdocs\IESite\Reports"
    goto :end
)
:ender

我怀疑callCopyFiles.bat中的这一行:

CALL copyfiles.bat "%%L"
失败,因为当批处理文件作为计划任务运行时,当前目录不同

尝试更改此行以列出完整路径…类似于:

CALL C:\YourFolderHere\copyfiles.bat "%%L"
编辑

根据这些评论,我认为您可能需要在copyfiles.bat文件中映射Z:drive

编辑2

映射驱动器时不要指定凭据


只需将NET USE Z:\\YourServer\ShareName添加到copyfiles.bat文件。

您确定计划的批处理文件实际上正在运行并失败,而不是根本不运行吗?您是否尝试将一些日志记录语句添加到批处理中?你能给我们看一下批处理的内容吗?只是添加了结果和脚本的屏幕截图。我尝试添加日志记录,但发现copyfiles脚本中的循环没有循环,因为它无法访问驱动器以获取要循环的文件列表。我将您的代码从图像中添加到问题中,作为文本。下次,请这样做……这会让人们更容易帮助你谢谢,我会记住的!我输入了完整路径,但在看到它仍然没有运行后,我在copyfiles.bat中添加了一些日志语句。一个在回路前,一个在回路内。只有第一个日志被打印出来,告诉我正在调用文件,但循环根本没有被迭代。请尝试在copyfiles.bat中的循环前面放置一个echo%1。这说明了什么?正确的文件路径正在按预期打印。它的输出与我手动运行时的输出相同。%1的值是多少?它包含空格吗?如果只运行DIR%1/s/b/O:-D命令会怎么样?它显示什么?其中一个值是Z:\equipLayout\SPTL\ATL Reports UEMS II*ATL_REPORT*。它们确实包含空格。当我打印该目录时,当脚本被调度时,没有打印任何内容,但是当手动运行时,它将像它应该打印的那样打印内容。