如何在 Pentaho 中使用修改后的 Javascript 删除文件夹?
我正在尝试使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的问题有 2 种解决方案:
1.:更好:
创建一个作业,将当前的转换导入到该作业中。在转换中将文件夹名称设置为变量,在作业中使用该变量在删除文件夹步骤中。
2.:更简单:
在修改的Java脚本值步骤中使用反射(在Spoon 4.0.1中测试):
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):