当前位置: 首页 > 知识库问答 >
问题:

如何在文件发送到远程SFTP服务器目录后使用jsch删除本地文件

皮承基
2023-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!');

共有1个答案

杜辰龙
2023-03-14

来自jsch的ChannelSftp有一个'rm'命令,但它只能用于删除远程文件。您将需要删除具有'file'对象的本地文件。文件对象需要显式路径。..不允许通配符,所以这里没有一行程序。在这里找到这个问题中的一个例子。

 类似资料:
  • 问题内容: 我正在使用jsch从服务器下载文件,下面是我的代码。 com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2629) at com.jcraft.jsch.ChannelSftp._get(ChannelSftp.java:977) at com.jcraft.jsch.ChannelSftp.get(Channe

  • 我需要登录到unix服务器,执行switch user,执行一些命令,然后将这些命令创建的文件scp到另一台服务器。我能够连接到服务器,执行sudo登录和执行命令,但我无法将文件直接scp到另一个远程服务器。 我用的是Jsch jar。下面是我的代码。 public void executeChannel(会话会话、字符串命令、字符串pwd、列表文件)引发异常{ command=sudo su-p

  • 我有一个用例,通过SFTP协议将FTP服务器中存在的所有文件下载到我的本地机器上。我使用JSch和它的类与远程FTP服务器通信。

  • 本文向大家介绍Git 删除远程服务器文件同时保留本地文件实例详解,包括了Git 删除远程服务器文件同时保留本地文件实例详解的使用技巧和注意事项,需要的朋友参考一下 Git 如何删除远程服务器文件同时保留本地文件 在上传工程到git上时,有时候会把本地的一些eclipse配置文件传到服务器上,这时你先删除本地,再同步服务器,显然是不合理的。git提供了一个好的解决方法,可以直接删除服务器文件,同时不

  • 我需要将文件从远程服务器复制到本地服务器,然后使用JMETER使用SSH SFTP进行尝试。我提供了登录凭据,并在“文件传输”部分中,选择了操作 - PUT源路径 - 远程路径( /ftp / xxx / yyy)目标 - 本地路径。 收到错误为` Java . io . file not found exception:C:\ Apache-jmeter-5 . 1 . 1 \ bin \ FT

  • 我想复制文件到。我不熟悉linux和jsch,所以请指导我在dir中复制上面的文件。我尝试了以下代码,但它不适合我。