2014-07-24 57 views
0

我在我們的Mirth接口引擎中調用jsch將文件從本地目錄複製到遠程sftp目錄,我想從本地目錄中刪除文件Channel.put將文件放在遠程服務器目錄後。這裏是我的初始代碼,用於將使用JavaScript代碼的文件在Mirth中調用jsch。文件進入遠程目錄沒有問題。如何在將文件發送到遠程SFTP服務器目錄後使用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

jsch的ChannelSftp有'rm'命令,但它只能用於刪除遠程文件。您需要使用「文件」對象刪除本地文件。 File對象需要顯式路徑...不允許使用通配符,因此這裏沒有一行。 Find an example in this question here.

相關問題