Subscribe Bookmark RSS Feed

Running a script in several files

theo_beluzzi

Community Trekker

Joined:

Mar 8, 2016

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!

2 REPLIES
pmroz

Super User

Joined:

Jun 23, 2011

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

);

msharp

Super User

Joined:

Jul 28, 2015

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

       )

);