Pentahoで変更されたJavaScriptを使用してフォルダーを削除する方法は?

StackOverflow https://stackoverflow.com/questions/3850269

  •  27-09-2019
  •  | 
  •  

質問

Pentahoで変更されたJavaScriptを使用してフォルダーを削除しようとしていますが delete キーワードはPDIコンパイラによって予約されています(メモリから変数を削除するために使用されます)。

これが私がしていることです:

var source = new java.io.File("some path");
var files = source.list();
for (var i=0; i<files.length; i++) {
    deleteFile(oldpath + "/" + filename); // empty folder from files, works okey
}
source.delete();

そして、Pentahoから編集エラーが発生します。

フォルダでDeleteFileを試しましたが、明らかにDeleteFileはフォルダーを削除できません。

予約された単語の使用を克服する方法はありますか?

役に立ちましたか?

解決

あなたの問題には2つの解決策があります:

1。:より良い:

ジョブを作成し、現在の変換をジョブにインポートします。変換で、フォルダー名をaとして設定します 変数, 、ジョブでは、の変数を使用します フォルダーを削除します ステップ。

2。:簡単です:

修正されたJavaスクリプト値ステップでリフレクションを使用します(スプーン4.0.1でテスト):

var source = new java.io.File("D:\\testdel");
var fileClass = source.getClass();
var delMethod = fileClass.getMethod("delete", null);
delMethod.invoke(source, null);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top