SFTP上でファイルの名前を変更する方法はありますか?SFTP上のファイルをNodeJsで名前を変更するには
これは、私がダウンロードするために使用するものです私はscp2
ノードモジュールを使用しています:
client.scp({
'host': this.host,
'username': this.username,
'password': this.password,
'path': path
},'./', function(err) {
if (err){
return callback("File: "+path+" "+err);
}else{
return callback(null);
}
});
たぶん私は、ファイルをダウンロードし、別の名前でそれをアップロードし、SFTPから、古いものを削除することができます。しかし、それはすてきではありません。
私はこのような他のモジュールを調べました:https://www.npmjs.com/package/sftpjsにはいくつかの名前変更機能が実装されていますが、動作させることはできません。なにか提案を?それは非常に明白なユースケースであり、私は何も見つけることができませんでした。
編集: ビジェイの答えは正しいです。私はちょうどそれを間違っていた。
マイコード:
// Download swush file from SFTP
var Client = require('sftpjs');
var c = Client();
c.on('ready', function() {
c.list(function (err, list) {
if (err) throw err;
console.dir(list);
c.end();
});
}).connect({
'host': this.host,
'username': this.username,
'password': this.password,
}).rename(path.concat(oldName), path.concat(newName), function(err){
if (err){
console.log("Error when renaming file: "+err)
}else{
console.log("Renaming file successful.");
}
});
の作業コード:
// Download swush file from SFTP
var Client = require('sftpjs');
var c = Client();
c.on('ready', function() {
c.rename(path.concat(oldName), path.concat(newName), function(err) {//only one parameter err is available for rename method.
if (err){
console.log("Error when renaming file: "+err)
}else{
console.log("Renaming file successful.");
}
});
}).connect({
'host': this.host,
'username': this.username,
'password': this.password,
});
素晴らしい!ありがとうございました。それを楽しんでください、編集を確認してください;) –
ありがとうございます。なぜ新しいキーワードなしで動くのですか? –
http://stackoverflow.com/questions/1646698/what-is-the-new-keyword-in-javascriptをご覧ください。ここにはこれに対する最善の解決策があります。 –