Nifi运行批处理文件 CMD.bat ExecuteProcess

问题描述

我尝试了几种配置,以按照使用nifi的时间表在Windows中运行批处理脚本(cmd)。我认为此配置应使用ExecuteProcess处理器工作。但事实并非如此。

我的“ ExecuteProcess”配置为:

  • 命令:cmd
  • 命令参数:C:\Users\SA-2J04-SAFES\Desktop\sync.bat

我的.bat脚本是:

"C:\Program Files (x86)\WinSCP\winscp.com" /ini=nul /command ^
    "open sftp://exchange:Illescas.exchange@30.208.6.43/ -hostkey=""ecdsa-sha2-nistp384 384 T8cTR+P5Ubm9NrbrcopI2mSz2QUOzYRvQrS1w+rSoyM=""" ^
    "synchronize local -delete \\SFS.CORP\Apps\ICT\ZILOC\intercambiosSFTP\SPC /" ^
    "exit"

如果我在nifi之外运行“ .bat”文件,则效果很好。

有人可以帮我吗?我用Google搜索没有结果。

是否可以将url和文件夹路径作为变量/参数?

谢谢。

解决方法

您缺少/C的{​​{1}}开关。

这不起作用:

cmd

您需要使用

cmd C:\Users\SA-2J04-SAFES\Desktop\sync.bat

因此,您需要在“命令参数”之前加cmd /C C:\Users\SA-2J04-SAFES\Desktop\sync.bat