Pregunta

Estoy intentando eliminar una carpeta usando Modificado Javascript en Pentaho, sin embargo la palabra clave delete está reservado por el compilador PDI (que se utiliza para eliminar una variable de la memoria).

Esto es lo que hago:

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

Y me sale un error de compilación de Pentaho.

He intentado deleteFile en la carpeta, pero al parecer deleteFile no puedo borrar una carpeta.

¿Alguna sugerencia de cómo superar el uso de una palabra reservada?

¿Fue útil?

Solución

Hay 2 soluciones para su problema:

1 .: El mejor:

Creación de un trabajo, importar su transformación actual en el empleo. En la transformación establecer el nombre de la carpeta como una variables , en el uso de la variable de empleo en las carpetas de borrado paso.

2 .: El más fácil:

Uso reflejo en el paso Java Script valor modificado (probado en Cuchara 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);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top