【问题标题】:how to delete local file using jsch after file is sent to remote SFTP server directory文件发送到远程 SFTP 服务器目录后如何使用 jsch 删除本地文件
【发布时间】:2014-09-16 10:03:14
【问题描述】:

我在我们的 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!');

【问题讨论】:

    标签: jsch


    【解决方案1】:

    来自 jsch 的 ChannelSftp 有一个 'rm' 命令,但它只能用于删除远程文件。您将需要使用“文件”对象删除本地文件。 File 对象需要明确的路径...不允许使用通配符,所以这里没有单行符。 Find an example in this question here.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-14
      • 1970-01-01
      • 2021-06-05
      • 1970-01-01
      • 2021-12-27
      相关资源
      最近更新 更多