我在我们的Mirth接口引擎中调用jsch将文件从本地目录复制到远程sftp目录,我想在Channel.put将文件放在远程服务器目录后从本地目录中删除文件。这是我使用javascript代码放置文件的初始代码,用于在Mirth中调用jsch。文件到达远程目录没有问题。
importPackage(com.jcraft.jsch);
var jsch = new JSch();
jsch.addIdentity("C:\\Directory\\test.key", "test");
jsch.setConfig('StrictHostKeyChecking','no');
var session = jsch.getSession('UserName','datatrans.test.se',22);
session.setTimeout(20000);
//session.setPassword('password');
session.connect();
var channel = session.openChannel('sftp');
channel.connect();
logger.debug('Connected to Biosense SFTP');
var filename = '\\' + $('originalFilename');
logger.debug(filename);
channel.put('D:\\Directory\\*.hl7', filename);
logger.debug('Place files in directory ' + filename);
channel.exit();
logger.debug('exit sftp dir');
session.disconnect();
logger.debug('session completed!');
答案 0 :(得分:0)
来自jsch的ChannelSftp有一个''命令,但它只能用于删除远程文件。您需要使用'文件'删除本地文件。宾语。 File对象需要显式路径...不允许使用通配符,因此这里没有单行。 Find an example in this question here.