如何在 Pentaho 中使用修改后的 Javascript 删除文件夹?

发布于 2024-09-25 18:15:09 字数 451 浏览 4 评论 0原文

我正在尝试使用 Pentaho 中的 Modified 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 收到编译错误。

我尝试在文件夹上删除文件,但显然删除文件无法删除文件夹。

对于如何克服保留字的使用有什么建议吗?

I am trying to delete a folder using Modified Javascript in Pentaho, however the delete keyword is reserved by the PDI compiler (it is used to delete a variable from memory).

Here's what I do:

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();

And I get a compilation error from Pentaho.

I tried deleteFile on the folder, but apparently deleteFile can't delete a folder.

Any suggestions how to overcome the use of a reserved word?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

っ左 2024-10-02 18:15:09

您的问题有 2 种解决方案:

1.:更好:

创建一个作业,将当前的转换导入到该作业中。在转换中将文件夹名称设置为变量,在作业中使用该变量在删除文件夹步骤中。

2.:更简单:

在修改的Java脚本值步骤中使用反射(在Spoon 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);

There are 2 solutions for your problem:

1.: The better:

Create a Job, import your current Transformation into the Job. In the transformation set the folder name as a variable, in the job use the variable in the delete folders step.

2.: The easier:

Use reflection in the Modified Java Script Value step (tested in Spoon 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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文