使用R执行powerShell命令并使用Windows任务sheduler执行shedule?

时间:2019-07-02 10:01:26

标签: r powershell

我写了一个R脚本,将几个文件从一个文件夹复制到MS SQL服务器上的另一个文件夹。该脚本执行PowerShell命令(Copy-Item),并在文件名正确的情况下复制文件。如果我在R,RStudio或使用bat文件中启动脚本,则脚本可以工作。如果我尝试运行脚本resp。通过Windows Task Scheduler的bat文件,文件将不会被复制。

我尝试更改日程表中的设置,但没有成功。也许任务计划程序需要不同的路径来复制文件,因为我连接到另一个客户端上的网络路径,但是我很困惑,手动启动批处理和使用相同用户凭据的表单计划程序之间存在如此不同的行为。

使用PowerShell命令复制文件

ps_command <- paste('Copy-Item -Path ', "'" ,"X:\\InputDATA\\USAGE ACCOUNTING\\25 Webservice\\Cloud\\", Files[i], "'" , " " ,"-Destination",  ' ', "'" ,"X:\\InputDATA\\USAGE ACCOUNTING\\25 Webservice\\VIN", "'" ,sep = "") 

system(paste("powershell -command ", ps_command))  

我在调度程序历史记录中没有发现任何错误消息,但是在我启动该作业后,该作业将被标记为已完成。该作业通常应至少运行30秒。

1 个答案:

答案 0 :(得分:0)

同时,我在脚本中发现了问题。似乎Windows Scheduler无法访问用户的网络目录,因此我更改了路径并添加了服务器名而不是网络目录:

“ //服务器名称/ InputDATA /使用帐户/ 25 Web服务/云/”