我通过SSH从我们的构建服务器(Jenkins)在远程服务器上执行批处理文件。批处理文件使用fart.exe
命令来查找和替换文本。我已将fart.exe
放在C:\Windows\System32
中,并在批处理文件中将其作为C:\windows\system32\fart.exe
调用。
该命令在远程服务器上工作得非常好,但是在通过SSH调用时,我在Jenkins日志中收到错误:
'"C:\windows\system32\fart.exe"' is not recognized as internal or external command.
这是我收到的唯一错误,其他命令在批处理脚本中成功执行。这两个服务器都是Windows Server 2012 R2。
我尝试添加系统变量的路径,但它没有用。
这就是批处理脚本中Fart.exe的使用方式。
for /R "%BACKUP_SOURCE%" %%G in (%ConfigFile%) do ( "C:\windows\system32\fart.exe" "%%G" %PlaceHolder% %AppPath%
)
从Jenkins调用
我不认为我调用批处理脚本的方式很重要,因为它是通过Jenkins SSH插件完成的。批处理脚本成功调用。我得到的错误来自执行Fart.exe时的错误
我尝试调用位于同一路径中的exe的不同命令,并且已成功调用该命令。所以我想问题是与FART.EXE隔离的。