I need to run the same script in several files. How do I do it without having to change manually the file path each time?
How can i create something like a list of files, and run the script on them all, saving those separately?
thanks!
Something like this might do the trick. The script myscript.jsl would use the global variable ::g_dataset to process the data in the file.
file_list = {
"c:\temp\file1.jmp",
"c:\temp\file2.jmp",
"c:\temp\file3.jmp",
};
for (i = 1, i <= nitems(file_list), i++,
::g_dataset = open(file_list[i]);
include("c:\scripts\myscript.jsl");
// close(::g_dataset, nosave);
);
Just appending to PMroz's answer, if you don't want to type out a long file_list, you could always organize your files into a directory then do something like below:
Names Default To Here( 1 );
dir = Pick Directory();
file_list = Files In Directory( dir);
for (i = 1, i <= nitems(file_list), i++,
if(Is File(file_list[i]),
::g_dataset = open(file_list[i]);
include("c:\scripts\myscript.jsl");
// close(::g_dataset, nosave);
)
);